Documentation ¶
Overview ¶
Package twitch implements the OAuth2 protocol for authenticating users through Twitch. This package can be used as a reference implementation of an OAuth2 provider for Twitch.
Index ¶
- Constants
- type Provider
- func (p *Provider) BeginAuth(state string) (goth.Session, error)
- func (p *Provider) Client() *http.Client
- func (p *Provider) Debug(debug bool)
- func (p *Provider) FetchUser(session goth.Session) (goth.User, error)
- 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 ( // ScopeUserRead provides read access to non-public user information, such // as their email address. ScopeUserRead string = "user_read" // ScopeUserBlocksEdit provides the ability to ignore or unignore on // behalf of a user. ScopeUserBlocksEdit string = "user_blocks_edit" // ScopeUserBlocksRead provides read access to a user's list of ignored // users. ScopeUserBlocksRead string = "user_blocks_read" // ScopeUserFollowsEdit provides access to manage a user's followed // channels. ScopeUserFollowsEdit string = "user_follows_edit" // ScopeChannelRead provides read access to non-public channel information, // including email address and stream key. ScopeChannelRead string = "channel_read" // ScopeChannelEditor provides write access to channel metadata (game, // status, etc). ScopeChannelEditor string = "channel_editor" // ScopeChannelCommercial provides access to trigger commercials on // channel. ScopeChannelCommercial string = "channel_commercial" // ScopeChannelStream provides the ability to reset a channel's stream key. ScopeChannelStream string = "channel_stream" // ScopeChannelSubscriptions provides read access to all subscribers to // your channel. ScopeChannelSubscriptions string = "channel_subscriptions" // ScopeUserSubscriptions provides read access to subscriptions of a user. ScopeUserSubscriptions string = "user_subscriptions" // ScopeChannelCheckSubscription provides read access to check if a user is // subscribed to your channel. ScopeChannelCheckSubscription string = "channel_check_subscription" // ScopeChatLogin provides the ability to log into chat and send messages. ScopeChatLogin string = "chat_login" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct { ClientKey string Secret string CallbackURL string HTTPClient *http.Client // contains filtered or unexported fields }
Provider is the implementation of `goth.Provider` for accessing Twitch
func New ¶
New creates a new Twitch provider, and sets up important connection details. You should always call `twitch.New` to get a new Provider. Never try to create one manually.
func (*Provider) RefreshToken ¶
RefreshToken get new access token based on the refresh token
func (*Provider) RefreshTokenAvailable ¶
RefreshTokenAvailable refresh token is provided by auth provider or not
type Session ¶
Session stores data during the auth process with Twitch
func (*Session) Authorize ¶
Authorize completes the authorization with Twitch and returns the access token to be stored for future use.
func (Session) GetAuthURL ¶
GetAuthURL will return the URL set by calling the `BeginAuth` function on the Twitch provider.