Documentation ¶
Index ¶
- Constants
- func GetOAuthURLIdentifierKey(state string) string
- type Error
- type FetchAccessTokenReq
- type FetchAccessTokenResp
- type OAuth
- func (oauth *OAuth) BuildAuthPageURL() (string, error)
- func (oauth *OAuth) FetchAccessToken(code, codeVerifier string) (*FetchAccessTokenResp, error)
- func (oauth *OAuth) GetUserInfo(accessToken string, fields []string) (*UserInfoResp, error)
- func (oauth *OAuth) HandleOAuth2ByAPPAuthToken(token string) (*plugin.OAuthUser, error)
- func (oauth *OAuth) HandleOAuth2ByAuthCode(code *plugin.VerifyCode) (*plugin.OAuthUser, error)
- func (oauth *OAuth) Provide(ctx context.Context) any
- func (oauth *OAuth) RefreshAccessToken(refreshToken string) (*FetchAccessTokenResp, error)
- func (oauth *OAuth) RevokeToken(accessToken string) error
- type Option
- type Options
- type UserInfoResp
- type UserObject
Constants ¶
View Source
const ( UserScopeBasic = "user.info.basic" UserScopeArtistRead = "artist.certification.read" UserScopeArtistUpdate = "artist.certification.update" UserScopeUserProfile = "user.info.profile" UserScopeUserStats = "user.info.stats" )
UserScope 用户授权范围
View Source
const (
OAuthUrlIdentifierKey = "google.oauth2.url.identifier.%s"
)
Variables ¶
This section is empty.
Functions ¶
func GetOAuthURLIdentifierKey ¶ added in v0.5.17
Types ¶
type FetchAccessTokenReq ¶ added in v0.5.1
type FetchAccessTokenReq struct { /* required 客户端 Key 在tiktok开发者平台查看 */ ClientKey string `json:"client_key"` /* required 客户端 Secret 在tiktok开发者平台查看 */ ClientSecret string `json:"client_secret"` /* required 授权码 */ Code string `json:"code"` /* required 授权类型 固定为:authorization_code */ GrantType string `json:"grant_type"` /* required 回调的重定向地址 */ RedirectURL string `json:"redirect_uri"` /* 仅适用于移动和桌面应用程序。代码验证器用于在 PKCE 授权流程中生成代码质询。 */ CodeVerifier string `json:"code_verifier"` }
FetchAccessTokenReq 获取 access_token 请求参数
type FetchAccessTokenResp ¶ added in v0.5.1
type FetchAccessTokenResp struct { /* 用户授权的唯一标识 */ OpenId string `json:"open_id"` /* 用户授权的数据范围 */ Scope string `json:"scope"` /* 用户授权的访问令牌 */ AccessToken string `json:"access_token"` /* 访问令牌的有效期,单位为秒 */ ExpiresIn int64 `json:"expires_in"` /* 用户授权的刷新令牌, 首次前发后365天有效 */ RefreshToken string `json:"refresh_token"` /* 刷新令牌的有效期,单位为秒 */ RefreshExpiresIn int64 `json:"refresh_expires_in"` /* 用户授权的令牌类型 固定为:Bearer */ TokenType string `json:"token_type"` /* 以下为请求错误响应内容 */ /* 错误类型 */ Error string `json:"error"` /* 错误描述 */ ErrorDescription string `json:"error_description"` /* LogId */ LogId string `json:"log_id"` }
FetchAccessTokenResp 获取 access_token 响应参数
type OAuth ¶
type OAuth struct {
// contains filtered or unexported fields
}
func (*OAuth) BuildAuthPageURL ¶ added in v0.5.17
BuildAuthPageURL 构建授权页面 URL
func (*OAuth) FetchAccessToken ¶ added in v0.5.1
func (oauth *OAuth) FetchAccessToken(code, codeVerifier string) (*FetchAccessTokenResp, error)
func (*OAuth) GetUserInfo ¶ added in v0.5.1
func (oauth *OAuth) GetUserInfo(accessToken string, fields []string) (*UserInfoResp, error)
func (*OAuth) HandleOAuth2ByAPPAuthToken ¶ added in v0.5.17
HandleOAuth2ByAPPAuthToken 处理 APP 授权登录
func (*OAuth) HandleOAuth2ByAuthCode ¶ added in v0.5.17
func (*OAuth) RefreshAccessToken ¶ added in v0.5.1
func (oauth *OAuth) RefreshAccessToken(refreshToken string) (*FetchAccessTokenResp, error)
func (*OAuth) RevokeToken ¶ added in v0.5.1
type Option ¶
type Option func(o *Options)
func WithClientKey ¶ added in v0.5.1
func WithClientSecret ¶
func WithRedirectURL ¶
type UserInfoResp ¶ added in v0.5.1
type UserInfoResp struct { /* 用户信息 */ Data map[string]UserObject `json:"data"` /* 错误信息 */ Error Error `json:"error"` }
type UserObject ¶ added in v0.5.1
type UserObject struct { /* 用户在当前应用中的唯一标识 */ OpenId string `json:"open_id"` /* 用户在当前开发者账号下所有应用的唯一标识 */ UnionId string `json:"union_id"` /* 用户头像地址 */ AvatarURL string `json:"avatar_url"` /* 用户头像地址(100x100) */ AvatarURL100 string `json:"avatar_url_100"` /* 最高分辨率的用户头像地址 */ AvatarLargeURL string `json:"avatar_large_url"` /* 显示名称 */ DisplayName string `json:"display_name"` /* 用户个人简介 */ BioDescription string `json:"bio_description"` /* 用户TikTok个人资料页面链接 */ ProfileDeepLink string `json:"profile_deep_link"` /* 用户是否已完成TikTok验证 */ IsVerified bool `json:"is_verified"` /* 用户昵称 */ Username string `json:"username"` /* 用户的关注者数量 */ FollowerCount int64 `json:"follower_count"` /* 用户的关注的账户数量 */ FollowingCount int64 `json:"following_count"` /* 用户所有视频的点赞数量 */ LikesCount int64 `json:"likes_count"` /* 用户公开发布的视频总数 */ VideoCount int64 `json:"video_count"` }
Click to show internal directories.
Click to hide internal directories.