providers

package
v0.0.0-...-d1ad28d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

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 NewAmazonProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewAppleProvider

func NewAppleProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewDiscordProvider

func NewDiscordProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewFacebookProvider

func NewFacebookProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewGithubProvider

func NewGithubProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewGoogleProvider

func NewGoogleProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewKeycloakProvider

func NewKeycloakProvider(BaseURL, Realm string, o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewMicrosoftProvider

func NewMicrosoftProvider(Tenant string, o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewRedditProvider

func NewRedditProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewTikTokProvider

func NewTikTokProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewTwitchProvider

func NewTwitchProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

func NewXProvider

func NewXProvider(o *jade.Options, opts ...oauth2.AuthCodeOption) (jade.Provider, error)

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

type XUser

type XUser struct {
	Id       string `json:"id"`
	Name     string `json:"name"`
	Email    string `json:"email"`
	Picture  string `json:"profile_image_url"`
	Verified bool   `json:"verified"`
	Username string `json:"username"`
}

func (*XUser) MarshalToUser

func (x *XUser) MarshalToUser() *jade.User

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL