Documentation ¶
Index ¶
- Constants
- type Apple
- func (p Apple) AuthUrl() string
- func (p Apple) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Apple) Client(token *oauth2.Token) *http.Client
- func (p Apple) ClientId() string
- func (p Apple) ClientSecret() string
- func (p Apple) Context() context.Context
- func (p *Apple) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p *Apple) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Apple) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Apple) RedirectUrl() string
- func (p Apple) Scopes() []string
- func (p Apple) SetAuthUrl(url string)
- func (p Apple) SetClientId(clientId string)
- func (p Apple) SetClientSecret(secret string)
- func (p Apple) SetContext(ctx context.Context)
- func (p Apple) SetRedirectUrl(url string)
- func (p Apple) SetScopes(scopes []string)
- func (p Apple) SetTokenUrl(url string)
- func (p Apple) SetUserApiUrl(url string)
- func (p Apple) TokenUrl() string
- func (p Apple) UserApiUrl() string
- type AuthUser
- type Discord
- func (p Discord) AuthUrl() string
- func (p Discord) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Discord) Client(token *oauth2.Token) *http.Client
- func (p Discord) ClientId() string
- func (p Discord) ClientSecret() string
- func (p Discord) Context() context.Context
- func (p *Discord) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Discord) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Discord) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Discord) RedirectUrl() string
- func (p Discord) Scopes() []string
- func (p Discord) SetAuthUrl(url string)
- func (p Discord) SetClientId(clientId string)
- func (p Discord) SetClientSecret(secret string)
- func (p Discord) SetContext(ctx context.Context)
- func (p Discord) SetRedirectUrl(url string)
- func (p Discord) SetScopes(scopes []string)
- func (p Discord) SetTokenUrl(url string)
- func (p Discord) SetUserApiUrl(url string)
- func (p Discord) TokenUrl() string
- func (p Discord) UserApiUrl() string
- type Facebook
- func (p Facebook) AuthUrl() string
- func (p Facebook) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Facebook) Client(token *oauth2.Token) *http.Client
- func (p Facebook) ClientId() string
- func (p Facebook) ClientSecret() string
- func (p Facebook) Context() context.Context
- func (p *Facebook) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Facebook) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Facebook) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Facebook) RedirectUrl() string
- func (p Facebook) Scopes() []string
- func (p Facebook) SetAuthUrl(url string)
- func (p Facebook) SetClientId(clientId string)
- func (p Facebook) SetClientSecret(secret string)
- func (p Facebook) SetContext(ctx context.Context)
- func (p Facebook) SetRedirectUrl(url string)
- func (p Facebook) SetScopes(scopes []string)
- func (p Facebook) SetTokenUrl(url string)
- func (p Facebook) SetUserApiUrl(url string)
- func (p Facebook) TokenUrl() string
- func (p Facebook) UserApiUrl() string
- type Gitea
- func (p Gitea) AuthUrl() string
- func (p Gitea) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Gitea) Client(token *oauth2.Token) *http.Client
- func (p Gitea) ClientId() string
- func (p Gitea) ClientSecret() string
- func (p Gitea) Context() context.Context
- func (p *Gitea) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Gitea) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Gitea) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Gitea) RedirectUrl() string
- func (p Gitea) Scopes() []string
- func (p Gitea) SetAuthUrl(url string)
- func (p Gitea) SetClientId(clientId string)
- func (p Gitea) SetClientSecret(secret string)
- func (p Gitea) SetContext(ctx context.Context)
- func (p Gitea) SetRedirectUrl(url string)
- func (p Gitea) SetScopes(scopes []string)
- func (p Gitea) SetTokenUrl(url string)
- func (p Gitea) SetUserApiUrl(url string)
- func (p Gitea) TokenUrl() string
- func (p Gitea) UserApiUrl() string
- type Gitee
- func (p Gitee) AuthUrl() string
- func (p Gitee) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Gitee) Client(token *oauth2.Token) *http.Client
- func (p Gitee) ClientId() string
- func (p Gitee) ClientSecret() string
- func (p Gitee) Context() context.Context
- func (p *Gitee) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Gitee) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Gitee) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Gitee) RedirectUrl() string
- func (p Gitee) Scopes() []string
- func (p Gitee) SetAuthUrl(url string)
- func (p Gitee) SetClientId(clientId string)
- func (p Gitee) SetClientSecret(secret string)
- func (p Gitee) SetContext(ctx context.Context)
- func (p Gitee) SetRedirectUrl(url string)
- func (p Gitee) SetScopes(scopes []string)
- func (p Gitee) SetTokenUrl(url string)
- func (p Gitee) SetUserApiUrl(url string)
- func (p Gitee) TokenUrl() string
- func (p Gitee) UserApiUrl() string
- type Github
- func (p Github) AuthUrl() string
- func (p Github) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Github) Client(token *oauth2.Token) *http.Client
- func (p Github) ClientId() string
- func (p Github) ClientSecret() string
- func (p Github) Context() context.Context
- func (p *Github) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Github) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Github) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Github) RedirectUrl() string
- func (p Github) Scopes() []string
- func (p Github) SetAuthUrl(url string)
- func (p Github) SetClientId(clientId string)
- func (p Github) SetClientSecret(secret string)
- func (p Github) SetContext(ctx context.Context)
- func (p Github) SetRedirectUrl(url string)
- func (p Github) SetScopes(scopes []string)
- func (p Github) SetTokenUrl(url string)
- func (p Github) SetUserApiUrl(url string)
- func (p Github) TokenUrl() string
- func (p Github) UserApiUrl() string
- type Gitlab
- func (p Gitlab) AuthUrl() string
- func (p Gitlab) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Gitlab) Client(token *oauth2.Token) *http.Client
- func (p Gitlab) ClientId() string
- func (p Gitlab) ClientSecret() string
- func (p Gitlab) Context() context.Context
- func (p *Gitlab) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Gitlab) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Gitlab) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Gitlab) RedirectUrl() string
- func (p Gitlab) Scopes() []string
- func (p Gitlab) SetAuthUrl(url string)
- func (p Gitlab) SetClientId(clientId string)
- func (p Gitlab) SetClientSecret(secret string)
- func (p Gitlab) SetContext(ctx context.Context)
- func (p Gitlab) SetRedirectUrl(url string)
- func (p Gitlab) SetScopes(scopes []string)
- func (p Gitlab) SetTokenUrl(url string)
- func (p Gitlab) SetUserApiUrl(url string)
- func (p Gitlab) TokenUrl() string
- func (p Gitlab) UserApiUrl() string
- type Google
- func (p Google) AuthUrl() string
- func (p Google) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Google) Client(token *oauth2.Token) *http.Client
- func (p Google) ClientId() string
- func (p Google) ClientSecret() string
- func (p Google) Context() context.Context
- func (p *Google) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Google) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Google) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Google) RedirectUrl() string
- func (p Google) Scopes() []string
- func (p Google) SetAuthUrl(url string)
- func (p Google) SetClientId(clientId string)
- func (p Google) SetClientSecret(secret string)
- func (p Google) SetContext(ctx context.Context)
- func (p Google) SetRedirectUrl(url string)
- func (p Google) SetScopes(scopes []string)
- func (p Google) SetTokenUrl(url string)
- func (p Google) SetUserApiUrl(url string)
- func (p Google) TokenUrl() string
- func (p Google) UserApiUrl() string
- type Kakao
- func (p Kakao) AuthUrl() string
- func (p Kakao) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Kakao) Client(token *oauth2.Token) *http.Client
- func (p Kakao) ClientId() string
- func (p Kakao) ClientSecret() string
- func (p Kakao) Context() context.Context
- func (p *Kakao) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Kakao) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Kakao) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Kakao) RedirectUrl() string
- func (p Kakao) Scopes() []string
- func (p Kakao) SetAuthUrl(url string)
- func (p Kakao) SetClientId(clientId string)
- func (p Kakao) SetClientSecret(secret string)
- func (p Kakao) SetContext(ctx context.Context)
- func (p Kakao) SetRedirectUrl(url string)
- func (p Kakao) SetScopes(scopes []string)
- func (p Kakao) SetTokenUrl(url string)
- func (p Kakao) SetUserApiUrl(url string)
- func (p Kakao) TokenUrl() string
- func (p Kakao) UserApiUrl() string
- type Livechat
- func (p Livechat) AuthUrl() string
- func (p Livechat) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Livechat) Client(token *oauth2.Token) *http.Client
- func (p Livechat) ClientId() string
- func (p Livechat) ClientSecret() string
- func (p Livechat) Context() context.Context
- func (p *Livechat) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Livechat) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Livechat) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Livechat) RedirectUrl() string
- func (p Livechat) Scopes() []string
- func (p Livechat) SetAuthUrl(url string)
- func (p Livechat) SetClientId(clientId string)
- func (p Livechat) SetClientSecret(secret string)
- func (p Livechat) SetContext(ctx context.Context)
- func (p Livechat) SetRedirectUrl(url string)
- func (p Livechat) SetScopes(scopes []string)
- func (p Livechat) SetTokenUrl(url string)
- func (p Livechat) SetUserApiUrl(url string)
- func (p Livechat) TokenUrl() string
- func (p Livechat) UserApiUrl() string
- type Microsoft
- func (p Microsoft) AuthUrl() string
- func (p Microsoft) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Microsoft) Client(token *oauth2.Token) *http.Client
- func (p Microsoft) ClientId() string
- func (p Microsoft) ClientSecret() string
- func (p Microsoft) Context() context.Context
- func (p *Microsoft) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Microsoft) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Microsoft) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Microsoft) RedirectUrl() string
- func (p Microsoft) Scopes() []string
- func (p Microsoft) SetAuthUrl(url string)
- func (p Microsoft) SetClientId(clientId string)
- func (p Microsoft) SetClientSecret(secret string)
- func (p Microsoft) SetContext(ctx context.Context)
- func (p Microsoft) SetRedirectUrl(url string)
- func (p Microsoft) SetScopes(scopes []string)
- func (p Microsoft) SetTokenUrl(url string)
- func (p Microsoft) SetUserApiUrl(url string)
- func (p Microsoft) TokenUrl() string
- func (p Microsoft) UserApiUrl() string
- type OIDC
- func (p OIDC) AuthUrl() string
- func (p OIDC) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p OIDC) Client(token *oauth2.Token) *http.Client
- func (p OIDC) ClientId() string
- func (p OIDC) ClientSecret() string
- func (p OIDC) Context() context.Context
- func (p *OIDC) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p OIDC) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p OIDC) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p OIDC) RedirectUrl() string
- func (p OIDC) Scopes() []string
- func (p OIDC) SetAuthUrl(url string)
- func (p OIDC) SetClientId(clientId string)
- func (p OIDC) SetClientSecret(secret string)
- func (p OIDC) SetContext(ctx context.Context)
- func (p OIDC) SetRedirectUrl(url string)
- func (p OIDC) SetScopes(scopes []string)
- func (p OIDC) SetTokenUrl(url string)
- func (p OIDC) SetUserApiUrl(url string)
- func (p OIDC) TokenUrl() string
- func (p OIDC) UserApiUrl() string
- type Provider
- type Spotify
- func (p Spotify) AuthUrl() string
- func (p Spotify) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Spotify) Client(token *oauth2.Token) *http.Client
- func (p Spotify) ClientId() string
- func (p Spotify) ClientSecret() string
- func (p Spotify) Context() context.Context
- func (p *Spotify) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Spotify) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Spotify) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Spotify) RedirectUrl() string
- func (p Spotify) Scopes() []string
- func (p Spotify) SetAuthUrl(url string)
- func (p Spotify) SetClientId(clientId string)
- func (p Spotify) SetClientSecret(secret string)
- func (p Spotify) SetContext(ctx context.Context)
- func (p Spotify) SetRedirectUrl(url string)
- func (p Spotify) SetScopes(scopes []string)
- func (p Spotify) SetTokenUrl(url string)
- func (p Spotify) SetUserApiUrl(url string)
- func (p Spotify) TokenUrl() string
- func (p Spotify) UserApiUrl() string
- type Strava
- func (p Strava) AuthUrl() string
- func (p Strava) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Strava) Client(token *oauth2.Token) *http.Client
- func (p Strava) ClientId() string
- func (p Strava) ClientSecret() string
- func (p Strava) Context() context.Context
- func (p *Strava) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Strava) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Strava) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Strava) RedirectUrl() string
- func (p Strava) Scopes() []string
- func (p Strava) SetAuthUrl(url string)
- func (p Strava) SetClientId(clientId string)
- func (p Strava) SetClientSecret(secret string)
- func (p Strava) SetContext(ctx context.Context)
- func (p Strava) SetRedirectUrl(url string)
- func (p Strava) SetScopes(scopes []string)
- func (p Strava) SetTokenUrl(url string)
- func (p Strava) SetUserApiUrl(url string)
- func (p Strava) TokenUrl() string
- func (p Strava) UserApiUrl() string
- type Twitch
- func (p Twitch) AuthUrl() string
- func (p Twitch) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Twitch) Client(token *oauth2.Token) *http.Client
- func (p Twitch) ClientId() string
- func (p Twitch) ClientSecret() string
- func (p Twitch) Context() context.Context
- func (p *Twitch) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p *Twitch) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Twitch) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Twitch) RedirectUrl() string
- func (p Twitch) Scopes() []string
- func (p Twitch) SetAuthUrl(url string)
- func (p Twitch) SetClientId(clientId string)
- func (p Twitch) SetClientSecret(secret string)
- func (p Twitch) SetContext(ctx context.Context)
- func (p Twitch) SetRedirectUrl(url string)
- func (p Twitch) SetScopes(scopes []string)
- func (p Twitch) SetTokenUrl(url string)
- func (p Twitch) SetUserApiUrl(url string)
- func (p Twitch) TokenUrl() string
- func (p Twitch) UserApiUrl() string
- type Twitter
- func (p Twitter) AuthUrl() string
- func (p Twitter) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
- func (p Twitter) Client(token *oauth2.Token) *http.Client
- func (p Twitter) ClientId() string
- func (p Twitter) ClientSecret() string
- func (p Twitter) Context() context.Context
- func (p *Twitter) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)
- func (p Twitter) FetchRawUserData(token *oauth2.Token) ([]byte, error)
- func (p Twitter) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
- func (p Twitter) RedirectUrl() string
- func (p Twitter) Scopes() []string
- func (p Twitter) SetAuthUrl(url string)
- func (p Twitter) SetClientId(clientId string)
- func (p Twitter) SetClientSecret(secret string)
- func (p Twitter) SetContext(ctx context.Context)
- func (p Twitter) SetRedirectUrl(url string)
- func (p Twitter) SetScopes(scopes []string)
- func (p Twitter) SetTokenUrl(url string)
- func (p Twitter) SetUserApiUrl(url string)
- func (p Twitter) TokenUrl() string
- func (p Twitter) UserApiUrl() string
Constants ¶
const NameApple string = "apple"
NameApple is the unique name of the Apple provider.
const NameDiscord string = "discord"
NameDiscord is the unique name of the Discord provider.
const NameFacebook string = "facebook"
NameFacebook is the unique name of the Facebook provider.
const NameGitea string = "gitea"
NameGitea is the unique name of the Gitea provider.
const NameGitee string = "gitee"
NameGitee is the unique name of the Gitee provider.
const NameGithub string = "github"
NameGithub is the unique name of the Github provider.
const NameGitlab string = "gitlab"
NameGitlab is the unique name of the Gitlab provider.
const NameGoogle string = "google"
NameGoogle is the unique name of the Google provider.
const NameKakao string = "kakao"
NameKakao is the unique name of the Kakao provider.
const NameLivechat = "livechat"
NameLivechat is the unique name of the Livechat provider.
const NameMicrosoft string = "microsoft"
NameMicrosoft is the unique name of the Microsoft provider.
const NameOIDC string = "oidc"
NameOIDC is the unique name of the OpenID Connect (OIDC) provider.
const NameSpotify string = "spotify"
NameSpotify is the unique name of the Spotify provider.
const NameStrava string = "strava"
NameStrava is the unique name of the Strava provider.
const NameTwitch string = "twitch"
NameTwitch is the unique name of the Twitch provider.
const NameTwitter string = "twitter"
NameTwitter is the unique name of the Twitter provider.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Apple ¶
type Apple struct {
// contains filtered or unexported fields
}
Apple allows authentication via Apple OAuth2.
func NewAppleProvider ¶
func NewAppleProvider() *Apple
NewAppleProvider creates a new Apple provider instance with some defaults.
func (Apple) AuthUrl ¶
func (p Apple) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Apple) BuildAuthUrl ¶
func (p Apple) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Apple) ClientId ¶
func (p Apple) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Apple) ClientSecret ¶
func (p Apple) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Apple) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based on the provided token.
API reference: https://developer.apple.com/documentation/sign_in_with_apple/tokenresponse.
func (*Apple) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData interface.
Apple doesn't have a UserInfo endpoint and claims about users are instead included in the "id_token" (https://openid.net/specs/openid-connect-core-1_0.html#id_tokenExample)
func (Apple) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Apple) RedirectUrl ¶
func (p Apple) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Apple) Scopes ¶
func (p Apple) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Apple) SetAuthUrl ¶
func (p Apple) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Apple) SetClientId ¶
func (p Apple) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Apple) SetClientSecret ¶
func (p Apple) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Apple) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Apple) SetRedirectUrl ¶
func (p Apple) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Apple) SetScopes ¶
func (p Apple) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Apple) SetTokenUrl ¶
func (p Apple) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Apple) SetUserApiUrl ¶
func (p Apple) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Apple) TokenUrl ¶
func (p Apple) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Apple) UserApiUrl ¶
func (p Apple) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type AuthUser ¶
type AuthUser struct { Id string `json:"id"` Name string `json:"name"` Username string `json:"username"` Email string `json:"email"` AvatarUrl string `json:"avatarUrl"` RawUser map[string]any `json:"rawUser"` AccessToken string `json:"accessToken"` RefreshToken string `json:"refreshToken"` }
AuthUser defines a standardized oauth2 user data structure.
type Discord ¶
type Discord struct {
// contains filtered or unexported fields
}
Discord allows authentication via Discord OAuth2.
func NewDiscordProvider ¶
func NewDiscordProvider() *Discord
NewDiscordProvider creates a new Discord provider instance with some defaults.
func (Discord) AuthUrl ¶
func (p Discord) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Discord) BuildAuthUrl ¶
func (p Discord) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Discord) ClientId ¶
func (p Discord) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Discord) ClientSecret ¶
func (p Discord) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Discord) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance from Discord's user api.
API reference: https://discord.com/developers/docs/resources/user#user-object
func (Discord) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Discord) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Discord) RedirectUrl ¶
func (p Discord) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Discord) Scopes ¶
func (p Discord) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Discord) SetAuthUrl ¶
func (p Discord) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Discord) SetClientId ¶
func (p Discord) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Discord) SetClientSecret ¶
func (p Discord) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Discord) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Discord) SetRedirectUrl ¶
func (p Discord) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Discord) SetScopes ¶
func (p Discord) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Discord) SetTokenUrl ¶
func (p Discord) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Discord) SetUserApiUrl ¶
func (p Discord) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Discord) TokenUrl ¶
func (p Discord) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Discord) UserApiUrl ¶
func (p Discord) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Facebook ¶
type Facebook struct {
// contains filtered or unexported fields
}
Facebook allows authentication via Facebook OAuth2.
func NewFacebookProvider ¶
func NewFacebookProvider() *Facebook
NewFacebookProvider creates new Facebook provider instance with some defaults.
func (Facebook) AuthUrl ¶
func (p Facebook) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Facebook) BuildAuthUrl ¶
func (p Facebook) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Facebook) ClientId ¶
func (p Facebook) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Facebook) ClientSecret ¶
func (p Facebook) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Facebook) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based on the Facebook's user api.
API reference: https://developers.facebook.com/docs/graph-api/reference/user/
func (Facebook) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Facebook) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Facebook) RedirectUrl ¶
func (p Facebook) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Facebook) Scopes ¶
func (p Facebook) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Facebook) SetAuthUrl ¶
func (p Facebook) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Facebook) SetClientId ¶
func (p Facebook) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Facebook) SetClientSecret ¶
func (p Facebook) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Facebook) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Facebook) SetRedirectUrl ¶
func (p Facebook) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Facebook) SetScopes ¶
func (p Facebook) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Facebook) SetTokenUrl ¶
func (p Facebook) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Facebook) SetUserApiUrl ¶
func (p Facebook) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Facebook) TokenUrl ¶
func (p Facebook) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Facebook) UserApiUrl ¶
func (p Facebook) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Gitea ¶
type Gitea struct {
// contains filtered or unexported fields
}
Gitea allows authentication via Gitea OAuth2.
func NewGiteaProvider ¶
func NewGiteaProvider() *Gitea
NewGiteaProvider creates new Gitea provider instance with some defaults.
func (Gitea) AuthUrl ¶
func (p Gitea) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Gitea) BuildAuthUrl ¶
func (p Gitea) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Gitea) ClientId ¶
func (p Gitea) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Gitea) ClientSecret ¶
func (p Gitea) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Gitea) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based on Gitea's user api.
API reference: https://try.gitea.io/api/swagger#/user/userGetCurrent
func (Gitea) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Gitea) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Gitea) RedirectUrl ¶
func (p Gitea) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Gitea) Scopes ¶
func (p Gitea) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Gitea) SetAuthUrl ¶
func (p Gitea) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Gitea) SetClientId ¶
func (p Gitea) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Gitea) SetClientSecret ¶
func (p Gitea) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Gitea) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Gitea) SetRedirectUrl ¶
func (p Gitea) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Gitea) SetScopes ¶
func (p Gitea) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Gitea) SetTokenUrl ¶
func (p Gitea) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Gitea) SetUserApiUrl ¶
func (p Gitea) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Gitea) TokenUrl ¶
func (p Gitea) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Gitea) UserApiUrl ¶
func (p Gitea) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Gitee ¶
type Gitee struct {
// contains filtered or unexported fields
}
Gitee allows authentication via Gitee OAuth2.
func NewGiteeProvider ¶
func NewGiteeProvider() *Gitee
NewGiteeProvider creates new Gitee provider instance with some defaults.
func (Gitee) AuthUrl ¶
func (p Gitee) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Gitee) BuildAuthUrl ¶
func (p Gitee) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Gitee) ClientId ¶
func (p Gitee) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Gitee) ClientSecret ¶
func (p Gitee) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Gitee) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based the Gitee's user api.
API reference: https://gitee.com/api/v5/swagger#/getV5User
func (Gitee) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Gitee) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Gitee) RedirectUrl ¶
func (p Gitee) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Gitee) Scopes ¶
func (p Gitee) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Gitee) SetAuthUrl ¶
func (p Gitee) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Gitee) SetClientId ¶
func (p Gitee) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Gitee) SetClientSecret ¶
func (p Gitee) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Gitee) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Gitee) SetRedirectUrl ¶
func (p Gitee) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Gitee) SetScopes ¶
func (p Gitee) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Gitee) SetTokenUrl ¶
func (p Gitee) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Gitee) SetUserApiUrl ¶
func (p Gitee) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Gitee) TokenUrl ¶
func (p Gitee) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Gitee) UserApiUrl ¶
func (p Gitee) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Github ¶
type Github struct {
// contains filtered or unexported fields
}
Github allows authentication via Github OAuth2.
func NewGithubProvider ¶
func NewGithubProvider() *Github
NewGithubProvider creates new Github provider instance with some defaults.
func (Github) AuthUrl ¶
func (p Github) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Github) BuildAuthUrl ¶
func (p Github) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Github) ClientId ¶
func (p Github) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Github) ClientSecret ¶
func (p Github) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Github) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based the Github's user api.
API reference: https://docs.github.com/en/rest/reference/users#get-the-authenticated-user
func (Github) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Github) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Github) RedirectUrl ¶
func (p Github) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Github) Scopes ¶
func (p Github) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Github) SetAuthUrl ¶
func (p Github) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Github) SetClientId ¶
func (p Github) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Github) SetClientSecret ¶
func (p Github) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Github) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Github) SetRedirectUrl ¶
func (p Github) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Github) SetScopes ¶
func (p Github) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Github) SetTokenUrl ¶
func (p Github) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Github) SetUserApiUrl ¶
func (p Github) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Github) TokenUrl ¶
func (p Github) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Github) UserApiUrl ¶
func (p Github) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Gitlab ¶
type Gitlab struct {
// contains filtered or unexported fields
}
Gitlab allows authentication via Gitlab OAuth2.
func NewGitlabProvider ¶
func NewGitlabProvider() *Gitlab
NewGitlabProvider creates new Gitlab provider instance with some defaults.
func (Gitlab) AuthUrl ¶
func (p Gitlab) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Gitlab) BuildAuthUrl ¶
func (p Gitlab) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Gitlab) ClientId ¶
func (p Gitlab) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Gitlab) ClientSecret ¶
func (p Gitlab) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Gitlab) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based the Gitlab's user api.
API reference: https://docs.gitlab.com/ee/api/users.html#for-admin
func (Gitlab) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Gitlab) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Gitlab) RedirectUrl ¶
func (p Gitlab) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Gitlab) Scopes ¶
func (p Gitlab) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Gitlab) SetAuthUrl ¶
func (p Gitlab) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Gitlab) SetClientId ¶
func (p Gitlab) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Gitlab) SetClientSecret ¶
func (p Gitlab) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Gitlab) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Gitlab) SetRedirectUrl ¶
func (p Gitlab) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Gitlab) SetScopes ¶
func (p Gitlab) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Gitlab) SetTokenUrl ¶
func (p Gitlab) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Gitlab) SetUserApiUrl ¶
func (p Gitlab) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Gitlab) TokenUrl ¶
func (p Gitlab) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Gitlab) UserApiUrl ¶
func (p Gitlab) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Google ¶
type Google struct {
// contains filtered or unexported fields
}
Google allows authentication via Google OAuth2.
func NewGoogleProvider ¶
func NewGoogleProvider() *Google
NewGoogleProvider creates new Google provider instance with some defaults.
func (Google) AuthUrl ¶
func (p Google) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Google) BuildAuthUrl ¶
func (p Google) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Google) ClientId ¶
func (p Google) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Google) ClientSecret ¶
func (p Google) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Google) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based the Google's user api.
func (Google) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Google) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Google) RedirectUrl ¶
func (p Google) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Google) Scopes ¶
func (p Google) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Google) SetAuthUrl ¶
func (p Google) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Google) SetClientId ¶
func (p Google) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Google) SetClientSecret ¶
func (p Google) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Google) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Google) SetRedirectUrl ¶
func (p Google) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Google) SetScopes ¶
func (p Google) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Google) SetTokenUrl ¶
func (p Google) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Google) SetUserApiUrl ¶
func (p Google) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Google) TokenUrl ¶
func (p Google) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Google) UserApiUrl ¶
func (p Google) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Kakao ¶
type Kakao struct {
// contains filtered or unexported fields
}
Kakao allows authentication via Kakao OAuth2.
func NewKakaoProvider ¶
func NewKakaoProvider() *Kakao
NewKakaoProvider creates a new Kakao provider instance with some defaults.
func (Kakao) AuthUrl ¶
func (p Kakao) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Kakao) BuildAuthUrl ¶
func (p Kakao) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Kakao) ClientId ¶
func (p Kakao) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Kakao) ClientSecret ¶
func (p Kakao) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Kakao) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based on the Kakao's user api.
API reference: https://developers.kakao.com/docs/latest/en/kakaologin/rest-api#req-user-info-response
func (Kakao) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Kakao) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Kakao) RedirectUrl ¶
func (p Kakao) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Kakao) Scopes ¶
func (p Kakao) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Kakao) SetAuthUrl ¶
func (p Kakao) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Kakao) SetClientId ¶
func (p Kakao) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Kakao) SetClientSecret ¶
func (p Kakao) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Kakao) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Kakao) SetRedirectUrl ¶
func (p Kakao) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Kakao) SetScopes ¶
func (p Kakao) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Kakao) SetTokenUrl ¶
func (p Kakao) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Kakao) SetUserApiUrl ¶
func (p Kakao) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Kakao) TokenUrl ¶
func (p Kakao) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Kakao) UserApiUrl ¶
func (p Kakao) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Livechat ¶
type Livechat struct {
// contains filtered or unexported fields
}
Livechat allows authentication via Livechat OAuth2.
func NewLivechatProvider ¶
func NewLivechatProvider() *Livechat
NewLivechatProvider creates new Livechat provider instance with some defaults.
func (Livechat) AuthUrl ¶
func (p Livechat) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Livechat) BuildAuthUrl ¶
func (p Livechat) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Livechat) ClientId ¶
func (p Livechat) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Livechat) ClientSecret ¶
func (p Livechat) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Livechat) FetchAuthUser ¶
FetchAuthUser returns an AuthUser based on the Livechat accounts API.
API reference: https://developers.livechat.com/docs/authorization
func (Livechat) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Livechat) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Livechat) RedirectUrl ¶
func (p Livechat) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Livechat) Scopes ¶
func (p Livechat) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Livechat) SetAuthUrl ¶
func (p Livechat) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Livechat) SetClientId ¶
func (p Livechat) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Livechat) SetClientSecret ¶
func (p Livechat) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Livechat) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Livechat) SetRedirectUrl ¶
func (p Livechat) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Livechat) SetScopes ¶
func (p Livechat) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Livechat) SetTokenUrl ¶
func (p Livechat) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Livechat) SetUserApiUrl ¶
func (p Livechat) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Livechat) TokenUrl ¶
func (p Livechat) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Livechat) UserApiUrl ¶
func (p Livechat) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Microsoft ¶
type Microsoft struct {
// contains filtered or unexported fields
}
Microsoft allows authentication via AzureADEndpoint OAuth2.
func NewMicrosoftProvider ¶
func NewMicrosoftProvider() *Microsoft
NewMicrosoftProvider creates new Microsoft AD provider instance with some defaults.
func (Microsoft) AuthUrl ¶
func (p Microsoft) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Microsoft) BuildAuthUrl ¶
func (p Microsoft) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Microsoft) ClientId ¶
func (p Microsoft) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Microsoft) ClientSecret ¶
func (p Microsoft) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Microsoft) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based on the Microsoft's user api.
API reference: https://learn.microsoft.com/en-us/azure/active-directory/develop/userinfo Graph explorer: https://developer.microsoft.com/en-us/graph/graph-explorer
func (Microsoft) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Microsoft) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Microsoft) RedirectUrl ¶
func (p Microsoft) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Microsoft) Scopes ¶
func (p Microsoft) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Microsoft) SetAuthUrl ¶
func (p Microsoft) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Microsoft) SetClientId ¶
func (p Microsoft) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Microsoft) SetClientSecret ¶
func (p Microsoft) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Microsoft) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Microsoft) SetRedirectUrl ¶
func (p Microsoft) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Microsoft) SetScopes ¶
func (p Microsoft) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Microsoft) SetTokenUrl ¶
func (p Microsoft) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Microsoft) SetUserApiUrl ¶
func (p Microsoft) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Microsoft) TokenUrl ¶
func (p Microsoft) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Microsoft) UserApiUrl ¶
func (p Microsoft) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type OIDC ¶
type OIDC struct {
// contains filtered or unexported fields
}
OIDC allows authentication via OpenID Connect (OIDC) OAuth2 provider.
func NewOIDCProvider ¶
func NewOIDCProvider() *OIDC
NewOIDCProvider creates new OpenID Connect (OIDC) provider instance with some defaults.
func (OIDC) AuthUrl ¶
func (p OIDC) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (OIDC) BuildAuthUrl ¶
func (p OIDC) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (OIDC) ClientId ¶
func (p OIDC) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (OIDC) ClientSecret ¶
func (p OIDC) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*OIDC) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based the provider's user api.
API reference: https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
func (OIDC) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (OIDC) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (OIDC) RedirectUrl ¶
func (p OIDC) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (OIDC) Scopes ¶
func (p OIDC) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (OIDC) SetAuthUrl ¶
func (p OIDC) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (OIDC) SetClientId ¶
func (p OIDC) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (OIDC) SetClientSecret ¶
func (p OIDC) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (OIDC) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (OIDC) SetRedirectUrl ¶
func (p OIDC) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (OIDC) SetScopes ¶
func (p OIDC) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (OIDC) SetTokenUrl ¶
func (p OIDC) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (OIDC) SetUserApiUrl ¶
func (p OIDC) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (OIDC) TokenUrl ¶
func (p OIDC) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (OIDC) UserApiUrl ¶
func (p OIDC) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Provider ¶
type Provider interface { // Scopes returns the context associated with the provider (if any). Context() context.Context // SetContext assigns the specified context to the current provider. SetContext(ctx context.Context) // Scopes returns the provider access permissions that will be requested. Scopes() []string // SetScopes sets the provider access permissions that will be requested later. SetScopes(scopes []string) // ClientId returns the provider client's app ID. ClientId() string // SetClientId sets the provider client's ID. SetClientId(clientId string) // ClientSecret returns the provider client's app secret. ClientSecret() string // SetClientSecret sets the provider client's app secret. SetClientSecret(secret string) // RedirectUrl returns the end address to redirect the user // going through the OAuth flow. RedirectUrl() string // SetRedirectUrl sets the provider's RedirectUrl. SetRedirectUrl(url string) // AuthUrl returns the provider's authorization service url. AuthUrl() string // SetAuthUrl sets the provider's AuthUrl. SetAuthUrl(url string) // TokenUrl returns the provider's token exchange service url. TokenUrl() string // SetTokenUrl sets the provider's TokenUrl. SetTokenUrl(url string) // UserApiUrl returns the provider's user info api url. UserApiUrl() string // SetUserApiUrl sets the provider's UserApiUrl. SetUserApiUrl(url string) // Client returns an http client using the provided token. Client(token *oauth2.Token) *http.Client // BuildAuthUrl returns a URL to the provider's consent page // that asks for permissions for the required scopes explicitly. BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string // FetchToken converts an authorization code to token. FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error) // FetchRawUserData requests and marshalizes into `result` the // the OAuth user api response. FetchRawUserData(token *oauth2.Token) ([]byte, error) // FetchAuthUser is similar to FetchRawUserData, but normalizes and // marshalizes the user api response into a standardized AuthUser struct. FetchAuthUser(token *oauth2.Token) (user *AuthUser, err error) }
Provider defines a common interface for an OAuth2 client.
func NewProviderByName ¶
NewProviderByName returns a new preconfigured provider instance by its name identifier.
type Spotify ¶
type Spotify struct {
// contains filtered or unexported fields
}
Spotify allows authentication via Spotify OAuth2.
func NewSpotifyProvider ¶
func NewSpotifyProvider() *Spotify
NewSpotifyProvider creates a new Spotify provider instance with some defaults.
func (Spotify) AuthUrl ¶
func (p Spotify) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Spotify) BuildAuthUrl ¶
func (p Spotify) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Spotify) ClientId ¶
func (p Spotify) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Spotify) ClientSecret ¶
func (p Spotify) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Spotify) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based on the Spotify's user api.
API reference: https://developer.spotify.com/documentation/web-api/reference/#/operations/get-current-users-profile
func (Spotify) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Spotify) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Spotify) RedirectUrl ¶
func (p Spotify) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Spotify) Scopes ¶
func (p Spotify) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Spotify) SetAuthUrl ¶
func (p Spotify) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Spotify) SetClientId ¶
func (p Spotify) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Spotify) SetClientSecret ¶
func (p Spotify) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Spotify) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Spotify) SetRedirectUrl ¶
func (p Spotify) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Spotify) SetScopes ¶
func (p Spotify) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Spotify) SetTokenUrl ¶
func (p Spotify) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Spotify) SetUserApiUrl ¶
func (p Spotify) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Spotify) TokenUrl ¶
func (p Spotify) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Spotify) UserApiUrl ¶
func (p Spotify) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Strava ¶
type Strava struct {
// contains filtered or unexported fields
}
Strava allows authentication via Strava OAuth2.
func NewStravaProvider ¶
func NewStravaProvider() *Strava
NewStravaProvider creates new Strava provider instance with some defaults.
func (Strava) AuthUrl ¶
func (p Strava) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Strava) BuildAuthUrl ¶
func (p Strava) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Strava) ClientId ¶
func (p Strava) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Strava) ClientSecret ¶
func (p Strava) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Strava) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based on the Strava's user api.
API reference: https://developers.strava.com/docs/authentication/
func (Strava) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Strava) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Strava) RedirectUrl ¶
func (p Strava) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Strava) Scopes ¶
func (p Strava) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Strava) SetAuthUrl ¶
func (p Strava) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Strava) SetClientId ¶
func (p Strava) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Strava) SetClientSecret ¶
func (p Strava) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Strava) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Strava) SetRedirectUrl ¶
func (p Strava) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Strava) SetScopes ¶
func (p Strava) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Strava) SetTokenUrl ¶
func (p Strava) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Strava) SetUserApiUrl ¶
func (p Strava) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Strava) TokenUrl ¶
func (p Strava) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Strava) UserApiUrl ¶
func (p Strava) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Twitch ¶
type Twitch struct {
// contains filtered or unexported fields
}
Twitch allows authentication via Twitch OAuth2.
func NewTwitchProvider ¶
func NewTwitchProvider() *Twitch
NewTwitchProvider creates new Twitch provider instance with some defaults.
func (Twitch) AuthUrl ¶
func (p Twitch) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Twitch) BuildAuthUrl ¶
func (p Twitch) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Twitch) ClientId ¶
func (p Twitch) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Twitch) ClientSecret ¶
func (p Twitch) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Twitch) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based the Twitch's user api.
API reference: https://dev.twitch.tv/docs/api/reference#get-users
func (*Twitch) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData interface.
This differ from baseProvider because Twitch requires the `Client-Id` header.
func (Twitch) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Twitch) RedirectUrl ¶
func (p Twitch) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Twitch) Scopes ¶
func (p Twitch) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Twitch) SetAuthUrl ¶
func (p Twitch) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Twitch) SetClientId ¶
func (p Twitch) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Twitch) SetClientSecret ¶
func (p Twitch) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Twitch) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Twitch) SetRedirectUrl ¶
func (p Twitch) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Twitch) SetScopes ¶
func (p Twitch) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Twitch) SetTokenUrl ¶
func (p Twitch) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Twitch) SetUserApiUrl ¶
func (p Twitch) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Twitch) TokenUrl ¶
func (p Twitch) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Twitch) UserApiUrl ¶
func (p Twitch) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.
type Twitter ¶
type Twitter struct {
// contains filtered or unexported fields
}
Twitter allows authentication via Twitter OAuth2.
func NewTwitterProvider ¶
func NewTwitterProvider() *Twitter
NewTwitterProvider creates new Twitter provider instance with some defaults.
func (Twitter) AuthUrl ¶
func (p Twitter) AuthUrl() string
AuthUrl implements Provider.AuthUrl() interface method.
func (Twitter) BuildAuthUrl ¶
func (p Twitter) BuildAuthUrl(state string, opts ...oauth2.AuthCodeOption) string
BuildAuthUrl implements Provider.BuildAuthUrl() interface method.
func (Twitter) ClientId ¶
func (p Twitter) ClientId() string
ClientId implements Provider.ClientId() interface method.
func (Twitter) ClientSecret ¶
func (p Twitter) ClientSecret() string
ClientSecret implements Provider.ClientSecret() interface method.
func (*Twitter) FetchAuthUser ¶
FetchAuthUser returns an AuthUser instance based on the Twitter's user api.
API reference: https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users-me
func (Twitter) FetchRawUserData ¶
FetchRawUserData implements Provider.FetchRawUserData() interface method.
func (Twitter) FetchToken ¶
FetchToken implements Provider.FetchToken() interface method.
func (Twitter) RedirectUrl ¶
func (p Twitter) RedirectUrl() string
RedirectUrl implements Provider.RedirectUrl() interface method.
func (Twitter) Scopes ¶
func (p Twitter) Scopes() []string
Scopes implements Provider.Scopes() interface method.
func (Twitter) SetAuthUrl ¶
func (p Twitter) SetAuthUrl(url string)
SetAuthUrl implements Provider.SetAuthUrl() interface method.
func (Twitter) SetClientId ¶
func (p Twitter) SetClientId(clientId string)
SetClientId implements Provider.SetClientId() interface method.
func (Twitter) SetClientSecret ¶
func (p Twitter) SetClientSecret(secret string)
SetClientSecret implements Provider.SetClientSecret() interface method.
func (Twitter) SetContext ¶
SetContext implements Provider.SetContext() interface method.
func (Twitter) SetRedirectUrl ¶
func (p Twitter) SetRedirectUrl(url string)
SetRedirectUrl implements Provider.SetRedirectUrl() interface method.
func (Twitter) SetScopes ¶
func (p Twitter) SetScopes(scopes []string)
SetScopes implements Provider.SetScopes() interface method.
func (Twitter) SetTokenUrl ¶
func (p Twitter) SetTokenUrl(url string)
SetTokenUrl implements Provider.SetTokenUrl() interface method.
func (Twitter) SetUserApiUrl ¶
func (p Twitter) SetUserApiUrl(url string)
SetUserApiUrl implements Provider.SetUserApiUrl() interface method.
func (Twitter) TokenUrl ¶
func (p Twitter) TokenUrl() string
TokenUrl implements Provider.TokenUrl() interface method.
func (Twitter) UserApiUrl ¶
func (p Twitter) UserApiUrl() string
UserApiUrl implements Provider.UserApiUrl() interface method.