feat: Add Discord as Identity Provider

This commit is contained in:
Robert McKee
2023-12-18 09:34:59 -05:00
parent 5fac440205
commit 751933d40e
16 changed files with 1808 additions and 1443 deletions

View File

@@ -30,6 +30,7 @@ type OAuthProvider struct {
FacebookConfig *oauth2.Config
LinkedInConfig *oauth2.Config
AppleConfig *oauth2.Config
DiscordConfig *oauth2.Config
TwitterConfig *oauth2.Config
MicrosoftConfig *oauth2.Config
TwitchConfig *oauth2.Config
@@ -149,6 +150,27 @@ func InitOAuth() error {
}
}
discordClientID, err := memorystore.Provider.GetStringStoreEnvVariable(constants.EnvKeyDiscordClientID)
if err != nil {
discordClientID = ""
}
discordClientSecret, err := memorystore.Provider.GetStringStoreEnvVariable(constants.EnvKeyDiscordClientSecret)
if err != nil {
discordClientSecret = ""
}
if discordClientID != "" && discordClientSecret != "" {
OAuthProviders.DiscordConfig = &oauth2.Config{
ClientID: discordClientID,
ClientSecret: discordClientSecret,
RedirectURL: "/oauth_callback/discord",
Endpoint: oauth2.Endpoint{
AuthURL: "https://discord.com/oauth2/authorize",
TokenURL: "https://discord.com/api/oauth2/token",
},
Scopes: []string{"identify", "email"},
}
}
twitterClientID, err := memorystore.Provider.GetStringStoreEnvVariable(constants.EnvKeyTwitterClientID)
if err != nil {
twitterClientID = ""