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 ( // ScopeChannelCheckSubscription provides access to read whether a user is // subscribed to your channel. ScopeChannelCheckSubscription string = "channel_check_subscription" // ScopeChannelCommercial provides access to trigger commercials on // channel. ScopeChannelCommercial string = "channel_commercial" // ScopeChannelEditor provides access to write channel metadata // (game, status, etc). ScopeChannelEditor string = "channel_editor" // ScopeChannelFeedEdit provides access to add posts and reactions to a // channel feed. ScopeChannelFeedEdit string = "channel_feed_edit" // ScopeChannelFeedRead provides access to view a channel feed. ScopeChannelFeedRead string = "channel_feed_read" // ScopeChannelRead provides access to read nonpublic channel information, // including email address and stream key. ScopeChannelRead string = "channel_read" // ScopeChannelStream provides access to reset a channel’s stream key. ScopeChannelStream string = "channel_stream" // ScopeChannelSubscriptions provides access to read all subscribers to // your channel. ScopeChannelSubscriptions string = "channel_subscriptions" // ScopeCollectionsEdit provides access to manage a user’s collections // (of videos). ScopeCollectionsEdit string = "collections_edit" // ScopeCommunitiesEdit provides access to manage a user’s communities. ScopeCommunitiesEdit string = "communities_edit" // ScopeCommunitiesModerate provides access to manage community moderators. ScopeCommunitiesModerate string = "communities_moderate" // ScopeOpenID provides access to use OpenID Connect authentication. ScopeOpenID string = "openid" // ScopeUserBlocksEdit provides access to turn on/off ignoring a user. // Ignoring users means you cannot see them type, receive messages from // them, etc. ScopeUserBlocksEdit string = "user_blocks_edit" // ScopeUserBlocksRead provides access to read 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" // ScopeUserRead provides access to read nonpublic user information, like // email address. ScopeUserRead string = "user_read" // ScopeUserSubscriptions provides access to read a user’s subscriptions. ScopeUserSubscriptions string = "user_subscriptions" // ScopeViewingActivityRead provides access to turn on Viewer Heartbeat // Service ability to record user data. ScopeViewingActivityRead string = "viewing_activity_read" // ScopeChatLogin (Deprecated — cannot be requested by new clients.) 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.