Documentation ¶
Overview ¶
Package tiktok implements the OAuth2 protocol for authenticating users through TikTok. This package can be used as a reference implementation of an OAuth2 provider for Goth.
Index ¶
- Constants
- type Provider
- func (p *Provider) BeginAuth(state string) (goth.Session, error)
- func (p *Provider) Debug(debug bool)
- func (p *Provider) FetchUser(session goth.Session) (goth.User, error)
- func (p *Provider) GetClient() *http.Client
- func (p *Provider) Name() string
- func (p *Provider) RefreshToken(refreshToken string) (*oauth2.Token, error)
- func (p *Provider) RefreshTokenAvailable() bool
- func (p *Provider) SetName(name string)
- func (p *Provider) UnmarshalSession(data string) (goth.Session, error)
- type Session
Constants ¶
const ( ScopeUserInfoBasic = "user.info.basic" ScopeVideoList = "video.list" ScopeVideoUpload = "video.upload" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct { CallbackURL string Client *http.Client ClientKey string ClientSecret string // contains filtered or unexported fields }
Provider is the implementation of `goth.Provider` for accessing TikTok
func (*Provider) BeginAuth ¶
BeginAuth asks TikTok for an authentication end-point. Note that we create our own URL string instead of calling oauth2.AuthCodeURL() due to TikTok param name requirements.
func (*Provider) FetchUser ¶
FetchUser will go to TikTok and access basic information about the user.
func (*Provider) RefreshToken ¶
RefreshToken will refresh a TikTok access token.
func (*Provider) RefreshTokenAvailable ¶
RefreshTokenAvailable refresh token
type Session ¶
type Session struct { AuthURL string AccessToken string ExpiresAt time.Time OpenID string RefreshToken string RefreshExpiresAt time.Time }
Session stores data during the auth process with TikTok
func (*Session) Authorize ¶
Authorize the session with TikTok and return the access token to be stored for future use. Note that we call the endpoints directly vs calling *oauth2.Config.Exchange() due to inconsistent TikTok param names.
func (Session) GetAuthURL ¶
GetAuthURL will return the URL set by calling the `BeginAuth` function on the TikTok provider.