Versions in this module Expand all Collapse all v1 v1.1.0 Oct 29, 2026 v1.0.0 Oct 26, 2026 Changes in this version + const NameApple + const NameBitbucket + const NameBox + const NameDiscord + const NameFacebook + const NameGitea + const NameGitee + const NameGithub + const NameGitlab + const NameGoogle + const NameInstagram + const NameKakao + const NameLark + const NameLinear + const NameLivechat + const NameMailcow + const NameMicrosoft + const NameMonday + const NameNotion + const NameOIDC + const NamePatreon + const NamePlanningcenter + const NameSpotify + const NameStrava + const NameTrakt + const NameTwitch + const NameTwitter + const NameVK + const NameWakatime + const NameYandex + var Providers = map[string]ProviderFactoryFunc + type Apple struct + func NewAppleProvider() *Apple + func (p *Apple) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + func (p *Apple) FetchRawUserInfo(token *oauth2.Token) ([]byte, error) + type AuthUser struct + AccessToken string + AvatarURL string + AvatarUrl string + Email string + Expiry types.DateTime + Id string + Name string + RawUser map[string]any + RefreshToken string + Username string + func (au AuthUser) MarshalJSON() ([]byte, error) + type BaseProvider struct + func (p *BaseProvider) AuthURL() string + func (p *BaseProvider) BuildAuthURL(state string, opts ...oauth2.AuthCodeOption) string + func (p *BaseProvider) Client(token *oauth2.Token) *http.Client + func (p *BaseProvider) ClientId() string + func (p *BaseProvider) ClientSecret() string + func (p *BaseProvider) Context() context.Context + func (p *BaseProvider) DisplayName() string + func (p *BaseProvider) Extra() map[string]any + func (p *BaseProvider) FetchRawUserInfo(token *oauth2.Token) ([]byte, error) + func (p *BaseProvider) FetchToken(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error) + func (p *BaseProvider) Logo() string + func (p *BaseProvider) Order() int + func (p *BaseProvider) PKCE() bool + func (p *BaseProvider) RedirectURL() string + func (p *BaseProvider) Scopes() []string + func (p *BaseProvider) SetAuthURL(url string) + func (p *BaseProvider) SetClientId(clientId string) + func (p *BaseProvider) SetClientSecret(secret string) + func (p *BaseProvider) SetContext(ctx context.Context) + func (p *BaseProvider) SetDisplayName(displayName string) + func (p *BaseProvider) SetExtra(data map[string]any) + func (p *BaseProvider) SetPKCE(enable bool) + func (p *BaseProvider) SetRedirectURL(url string) + func (p *BaseProvider) SetScopes(scopes []string) + func (p *BaseProvider) SetTokenURL(url string) + func (p *BaseProvider) SetUserInfoURL(url string) + func (p *BaseProvider) TokenURL() string + func (p *BaseProvider) UserInfoURL() string + type Bitbucket struct + func NewBitbucketProvider() *Bitbucket + func (p *Bitbucket) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Box struct + func NewBoxProvider() *Box + func (p *Box) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Discord struct + func NewDiscordProvider() *Discord + func (p *Discord) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Facebook struct + func NewFacebookProvider() *Facebook + func (p *Facebook) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Gitea struct + func NewGiteaProvider() *Gitea + func (p *Gitea) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Gitee struct + func NewGiteeProvider() *Gitee + func (p *Gitee) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Github struct + func NewGithubProvider() *Github + func (p *Github) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Gitlab struct + func NewGitlabProvider() *Gitlab + func (p *Gitlab) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Google struct + func NewGoogleProvider() *Google + func (p *Google) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Instagram struct + func NewInstagramProvider() *Instagram + func (p *Instagram) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Kakao struct + func NewKakaoProvider() *Kakao + func (p *Kakao) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Lark struct + func NewLarkProvider() *Lark + func (p *Lark) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Linear struct + func NewLinearProvider() *Linear + func (p *Linear) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + func (p *Linear) FetchRawUserInfo(token *oauth2.Token) ([]byte, error) + type Livechat struct + func NewLivechatProvider() *Livechat + func (p *Livechat) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Mailcow struct + func NewMailcowProvider() *Mailcow + func (p *Mailcow) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Microsoft struct + func NewMicrosoftProvider() *Microsoft + func (p *Microsoft) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + func (p *Microsoft) SetExtra(data map[string]any) + type Monday struct + func NewMondayProvider() *Monday + func (p *Monday) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + func (p *Monday) FetchRawUserInfo(token *oauth2.Token) ([]byte, error) + type Notion struct + func NewNotionProvider() *Notion + func (p *Notion) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + func (p *Notion) FetchRawUserInfo(token *oauth2.Token) ([]byte, error) + type OIDC struct + func NewOIDCProvider() *OIDC + func (p *OIDC) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + func (p *OIDC) FetchRawUserInfo(token *oauth2.Token) ([]byte, error) + type Patreon struct + func NewPatreonProvider() *Patreon + func (p *Patreon) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Planningcenter struct + func NewPlanningcenterProvider() *Planningcenter + func (p *Planningcenter) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Provider interface + AuthURL func() string + BuildAuthURL func(state string, opts ...oauth2.AuthCodeOption) string + Client func(token *oauth2.Token) *http.Client + ClientId func() string + ClientSecret func() string + Context func() context.Context + DisplayName func() string + Extra func() map[string]any + FetchAuthUser func(token *oauth2.Token) (user *AuthUser, err error) + FetchRawUserInfo func(token *oauth2.Token) ([]byte, error) + FetchToken func(code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error) + Logo func() string + Order func() int + PKCE func() bool + RedirectURL func() string + Scopes func() []string + SetAuthURL func(url string) + SetClientId func(clientId string) + SetClientSecret func(secret string) + SetContext func(ctx context.Context) + SetDisplayName func(displayName string) + SetExtra func(data map[string]any) + SetPKCE func(enable bool) + SetRedirectURL func(url string) + SetScopes func(scopes []string) + SetTokenURL func(url string) + SetUserInfoURL func(url string) + TokenURL func() string + UserInfoURL func() string + func NewProviderByName(name string) (Provider, error) + type ProviderFactoryFunc func() Provider + type Spotify struct + func NewSpotifyProvider() *Spotify + func (p *Spotify) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Strava struct + func NewStravaProvider() *Strava + func (p *Strava) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Trakt struct + func NewTraktProvider() *Trakt + func (p *Trakt) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + func (p *Trakt) FetchRawUserInfo(token *oauth2.Token) ([]byte, error) + type Twitch struct + func NewTwitchProvider() *Twitch + func (p *Twitch) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + func (p *Twitch) FetchRawUserInfo(token *oauth2.Token) ([]byte, error) + type Twitter struct + func NewTwitterProvider() *Twitter + func (p *Twitter) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type VK struct + func NewVKProvider() *VK + func (p *VK) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Wakatime struct + func NewWakatimeProvider() *Wakatime + func (p *Wakatime) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) + type Yandex struct + func NewYandexProvider() *Yandex + func (p *Yandex) FetchAuthUser(token *oauth2.Token) (*AuthUser, error)