Documentation
¶
Index ¶
- Variables
- func NewAmazonProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewAppleProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewDiscordProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewFacebookProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewGithubProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewGoogleProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewKeycloakProvider(BaseURL, Realm string, o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewMicrosoftProvider(Tenant string, o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewRedditProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewTikTokProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewTwitchProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- func NewXProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
- type AmazonUser
- type DiscordUser
- type FacebookUser
- type GithubUser
- type GoogleUser
- type KeycloakUser
- type MicrosoftUser
- type RedditUser
- type SpotifyUser
- type TikTokUser
- type TwitchUser
- type XUser
Constants ¶
This section is empty.
Variables ¶
View Source
var ( AmazonApiUrl = "https://api.amazon.com/user/profile" AmazonScopes = []string{"profile"} )
View Source
var ( AppleIssuer = "https://appleid.apple.com" AppleScopes = []string{"email", "name"} )
View Source
var ( DiscordApiUrl = "https://discord.com/api/users/@me" DiscordScopes = []string{"identify", "email"} )
View Source
var ( FacebookIssuer = "https://limited.facebook.com" FacebookScopes = []string{"openid", "email", "public_profile"} )
View Source
var ( GithubApiUrl = "https://api.github.com" GithubScopes = []string{"user"} )
View Source
var ( GoogleIssuer = "https://accounts.google.com" GoogleScopes = []string{"openid", "profile", "email"} GoogleApiUrl = "https://www.googleapis.com/oauth2/v2/userinfo" )
View Source
var ( MicrosoftIssuer = "https://login.microsoftonline.com" MicrosoftScopes = []string{"openid", "profile", "email"} )
View Source
var ( RedditApiUrl = "https://oauth.reddit.com/api/v1/me" RedditScopes = []string{"identity", "read"} )
View Source
var ( SpotifyApiUrl = "https://api.spotify.com/v1/me" SpotifyScopes = []string{"user-read-email"} )
View Source
var ( TikTokScopes = []string{"user.info.basic", "user.info.email", "user.info.profile"} TikTokApiUrl = "https://open.tiktokapis.com/v2/user/info/" )
View Source
var ( TwitchScopes = []string{"openid", "user:read:email"} TwitchIssuer = "https://id.twitch.tv/oauth2" )
View Source
var ( XApiUrl = "https://api.x.com/2/users/me" XScopes = []string{"users.read", "offline.access"} )
View Source
var (
KeycloakScopes = []string{"openid", "profile", "email"}
)
Functions ¶
func NewAmazonProvider ¶
func NewAppleProvider ¶
func NewDiscordProvider ¶
func NewFacebookProvider ¶
func NewGithubProvider ¶
func NewGoogleProvider ¶
func NewKeycloakProvider ¶
func NewMicrosoftProvider ¶
func NewRedditProvider ¶
func NewTikTokProvider ¶
func NewTwitchProvider ¶
func NewXProvider ¶
Types ¶
type AmazonUser ¶
type AmazonUser struct {
ID int `json:"user_id,omitempty"`
Email string `json:"email,omitempty"`
Name string `json:"name,omitempty"`
}
func (*AmazonUser) MarshalToUser ¶
func (au *AmazonUser) MarshalToUser() *jade.User
type DiscordUser ¶
type DiscordUser struct {
ID string `json:"id,omitempty"`
UserName string `json:"username,omitempty"`
Email string `json:"email,omitempty"`
Verified bool `json:"verified,omitempty"`
Name string `json:"name,omitempty"`
AvatarURL string `json:"avatar,omitempty"`
Locale string `json:"locale,omitempty"`
}
func (*DiscordUser) MarshalToUser ¶
func (d *DiscordUser) MarshalToUser() *jade.User
type FacebookUser ¶
type FacebookUser struct {
ID string `json:"sub,omitempty"`
Name string `json:"name,omitempty"`
Email string `json:"email,omitempty"`
Picture string `json:"picture,omitempty"`
FirstName string `json:"given_name,omitempty"`
LastName string `json:"family_name,omitempty"`
}
func (*FacebookUser) MarshalToUser ¶
func (f *FacebookUser) MarshalToUser() *jade.User
type GithubUser ¶
type GithubUser struct {
ID int `json:"id,omitempty"`
UserName string `json:"login,omitempty"`
Email string `json:"email,omitempty"`
Name string `json:"name,omitempty"`
AvatarURL string `json:"avatar_url,omitempty"`
}
func (*GithubUser) MarshalToUser ¶
func (g *GithubUser) MarshalToUser() *jade.User
type GoogleUser ¶
type GoogleUser struct {
ID string `json:"sub,omitempty"`
Issuer string `json:"iss,omitempty"`
Name string `json:"name,omitempty"`
FirstName string `json:"given_name,omitempty"`
LastName string `json:"family_name,omitempty"`
Picture string `json:"picture,omitempty"`
Email string `json:"email,omitempty"`
VerifiedEmail bool `json:"verified_email,omitempty"`
EmailVerified bool `json:"email_verified,omitempty"`
Locale string `json:"locale,omitempty"`
HostedDomain string `json:"hd,omitempty"`
}
func (*GoogleUser) MarshalToUser ¶
func (u *GoogleUser) MarshalToUser() *jade.User
type KeycloakUser ¶
type KeycloakUser struct {
ID string `json:"sub,omitempty"`
Name string `json:"name,omitempty"`
Email string `json:"email,omitempty"`
FirstName string `json:"given_name,omitempty"`
LastName string `json:"family_name,omitempty"`
Username string `json:"preferred_username,omitempty"`
Picture string `json:"picture,omitempty"`
}
func (*KeycloakUser) MarshalToUser ¶
func (k *KeycloakUser) MarshalToUser() *jade.User
type MicrosoftUser ¶
type MicrosoftUser struct {
Email string `json:"email"`
Name string `json:"name"`
ID string `json:"sub"`
UserName string `json:"preferred_username"`
}
func (*MicrosoftUser) MarshalToUser ¶
func (m *MicrosoftUser) MarshalToUser() *jade.User
type RedditUser ¶
type RedditUser struct {
Email string `json:"email,omitempty"`
Name string `json:"name,omitempty"`
ID string `json:"id,omitempty"`
}
func (*RedditUser) MarshalToUser ¶
func (r *RedditUser) MarshalToUser() *jade.User
type SpotifyUser ¶
type SpotifyUser struct {
DisplayName string `json:"display_name"`
Avatars []spotifyUserImage `json:"images"`
Email string `json:"email"`
ID string `json:"id"`
}
func (*SpotifyUser) MarshalToUser ¶
func (s *SpotifyUser) MarshalToUser() *jade.User
func (*SpotifyUser) NewSpotifyProvider ¶
func (s *SpotifyUser) NewSpotifyProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)
type TikTokUser ¶
type TikTokUser struct {
ID string `json:"open_id"`
Picture string `json:"avatar_url"`
Username string `json:"username"`
Name string `json:"display_name"`
}
func (*TikTokUser) MarshalToUser ¶
func (t *TikTokUser) MarshalToUser() *jade.User
type TwitchUser ¶
type TwitchUser struct {
ID string `json:"sub,omitempty"`
Email string `json:"email,omitempty"`
Username string `json:"preferred_username,omitempty"`
Picture string `json:"picture,omitempty"`
Verified bool `json:"email_verified,omitempty"`
}
func (*TwitchUser) MarshalToUser ¶
func (t *TwitchUser) MarshalToUser() *jade.User
Click to show internal directories.
Click to hide internal directories.