Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions internal/start/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,7 @@ EOF
fmt.Sprintf("GOTRUE_EXTERNAL_%s_CLIENT_ID=%s", strings.ToUpper(name), config.ClientId),
fmt.Sprintf("GOTRUE_EXTERNAL_%s_SECRET=%s", strings.ToUpper(name), config.Secret.Value),
fmt.Sprintf("GOTRUE_EXTERNAL_%s_SKIP_NONCE_CHECK=%t", strings.ToUpper(name), config.SkipNonceCheck),
fmt.Sprintf("GOTRUE_EXTERNAL_%s_EMAIL_OPTIONAL=%t", strings.ToUpper(name), config.EmailOptional),
)

redirectUri := config.RedirectUri
Expand Down
37 changes: 37 additions & 0 deletions pkg/config/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,7 @@
Url string `toml:"url"`
RedirectUri string `toml:"redirect_uri"`
SkipNonceCheck bool `toml:"skip_nonce_check"`
EmailOptional bool `toml:"email_optional"`
}

solana struct {
Expand Down Expand Up @@ -944,6 +945,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalAppleSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalAppleEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 948 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalAppleEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalAppleEmailOptional)

Check failure on line 948 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalAppleEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalAppleEmailOptional)

Check failure on line 948 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalAppleEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalAppleEmailOptional)
}
}
if p, ok := e["azure"]; ok {
Expand All @@ -953,6 +955,7 @@
body.ExternalAzureSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalAzureUrl = nullable.NewNullableWithValue(p.Url)
body.ExternalAzureEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 958 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalAzureEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalAzureEmailOptional)

Check failure on line 958 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalAzureEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalAzureEmailOptional)

Check failure on line 958 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalAzureEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalAzureEmailOptional)
}
}
if p, ok := e["bitbucket"]; ok {
Expand All @@ -961,6 +964,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalBitbucketSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalBitbucketEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 967 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalBitbucketEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalBitbucketEmailOptional)

Check failure on line 967 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalBitbucketEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalBitbucketEmailOptional)

Check failure on line 967 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalBitbucketEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalBitbucketEmailOptional)
}
}
if p, ok := e["discord"]; ok {
Expand All @@ -969,6 +973,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalDiscordSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalDiscordEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 976 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalDiscordEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalDiscordEmailOptional)

Check failure on line 976 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalDiscordEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalDiscordEmailOptional)

Check failure on line 976 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalDiscordEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalDiscordEmailOptional)
}
}
if p, ok := e["facebook"]; ok {
Expand All @@ -977,6 +982,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalFacebookSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalFacebookEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 985 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalFacebookEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalFacebookEmailOptional)

Check failure on line 985 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalFacebookEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalFacebookEmailOptional)

Check failure on line 985 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalFacebookEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalFacebookEmailOptional)
}
}
if p, ok := e["figma"]; ok {
Expand All @@ -985,6 +991,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalFigmaSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalFigmaEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 994 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalFigmaEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalFigmaEmailOptional)

Check failure on line 994 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalFigmaEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalFigmaEmailOptional)

Check failure on line 994 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalFigmaEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalFigmaEmailOptional)
}
}
if p, ok := e["github"]; ok {
Expand All @@ -993,6 +1000,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalGithubSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalGithubEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 1003 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalGithubEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGithubEmailOptional)

Check failure on line 1003 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalGithubEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGithubEmailOptional)

Check failure on line 1003 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalGithubEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGithubEmailOptional)
}
}
if p, ok := e["gitlab"]; ok {
Expand All @@ -1002,6 +1010,7 @@
body.ExternalGitlabSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalGitlabUrl = nullable.NewNullableWithValue(p.Url)
body.ExternalGitlabEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 1013 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalGitlabEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGitlabEmailOptional)

Check failure on line 1013 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalGitlabEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGitlabEmailOptional)

Check failure on line 1013 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalGitlabEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGitlabEmailOptional)
}
}
if p, ok := e["google"]; ok {
Expand All @@ -1011,6 +1020,7 @@
body.ExternalGoogleSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalGoogleSkipNonceCheck = nullable.NewNullableWithValue(p.SkipNonceCheck)
body.ExternalGoogleEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 1023 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalGoogleEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGoogleEmailOptional)

Check failure on line 1023 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalGoogleEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGoogleEmailOptional)

Check failure on line 1023 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Lint

body.ExternalGoogleEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalGoogleEmailOptional)
}
}
if p, ok := e["kakao"]; ok {
Expand All @@ -1019,6 +1029,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalKakaoSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalKakaoEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)

Check failure on line 1032 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Start

body.ExternalKakaoEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalKakaoEmailOptional)

Check failure on line 1032 in pkg/config/auth.go

View workflow job for this annotation

GitHub Actions / Test

body.ExternalKakaoEmailOptional undefined (type *api.UpdateAuthConfigBody has no field or method ExternalKakaoEmailOptional)
}
}
if p, ok := e["keycloak"]; ok {
Expand All @@ -1028,6 +1039,7 @@
body.ExternalKeycloakSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalKeycloakUrl = nullable.NewNullableWithValue(p.Url)
body.ExternalKeycloakEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)
}
}
if p, ok := e["linkedin_oidc"]; ok {
Expand All @@ -1036,6 +1048,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalLinkedinOidcSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalLinkedinOidcEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)
}
}
if p, ok := e["notion"]; ok {
Expand All @@ -1044,6 +1057,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalNotionSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalNotionEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)
}
}
if p, ok := e["slack_oidc"]; ok {
Expand All @@ -1052,6 +1066,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalSlackOidcSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalSlackOidcEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)
}
}
if p, ok := e["spotify"]; ok {
Expand All @@ -1060,6 +1075,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalSpotifySecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalSpotifyEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)
}
}
if p, ok := e["twitch"]; ok {
Expand All @@ -1068,6 +1084,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalTwitchSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalTwitchEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)
}
}
if p, ok := e["twitter"]; ok {
Expand All @@ -1076,6 +1093,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalTwitterSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalTwitterEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)
}
}
if p, ok := e["workos"]; ok {
Expand All @@ -1093,6 +1111,7 @@
if len(p.Secret.SHA256) > 0 {
body.ExternalZoomSecret = nullable.NewNullableWithValue(p.Secret.Value)
}
body.ExternalZoomEmailOptional = nullable.NewNullableWithValue(p.EmailOptional)
}
}
}
Expand All @@ -1111,6 +1130,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalAppleSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalAppleEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalAppleEnabled, false)
e["apple"] = p
Expand All @@ -1123,6 +1143,7 @@
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalAzureSecret, "")
}
p.Url = ValOrDefault(remoteConfig.ExternalAzureUrl, "")
p.EmailOptional = ValOrDefault(remoteConfig.ExternalAzureEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalAzureEnabled, false)
e["azure"] = p
Expand All @@ -1134,6 +1155,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalBitbucketSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalBitbucketEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalBitbucketEnabled, false)
e["bitbucket"] = p
Expand All @@ -1145,6 +1167,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalDiscordSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalDiscordEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalDiscordEnabled, false)
e["discord"] = p
Expand All @@ -1156,6 +1179,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalFacebookSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalFacebookEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalFacebookEnabled, false)
e["facebook"] = p
Expand All @@ -1167,6 +1191,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalFigmaSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalFigmaEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalFigmaEnabled, false)
e["figma"] = p
Expand All @@ -1178,6 +1203,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalGithubSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalGithubEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalGithubEnabled, false)
e["github"] = p
Expand All @@ -1190,6 +1216,7 @@
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalGitlabSecret, "")
}
p.Url = ValOrDefault(remoteConfig.ExternalGitlabUrl, "")
p.EmailOptional = ValOrDefault(remoteConfig.ExternalGitlabEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalGitlabEnabled, false)
e["gitlab"] = p
Expand All @@ -1205,6 +1232,7 @@
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalGoogleSecret, "")
}
p.SkipNonceCheck = ValOrDefault(remoteConfig.ExternalGoogleSkipNonceCheck, false)
p.EmailOptional = ValOrDefault(remoteConfig.ExternalGoogleEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalGoogleEnabled, false)
e["google"] = p
Expand All @@ -1216,6 +1244,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalKakaoSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalKakaoEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalKakaoEnabled, false)
e["kakao"] = p
Expand All @@ -1228,6 +1257,7 @@
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalKeycloakSecret, "")
}
p.Url = ValOrDefault(remoteConfig.ExternalKeycloakUrl, "")
p.EmailOptional = ValOrDefault(remoteConfig.ExternalKeycloakEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalKeycloakEnabled, false)
e["keycloak"] = p
Expand All @@ -1239,6 +1269,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalLinkedinOidcSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalLinkedinOidcEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalLinkedinOidcEnabled, false)
e["linkedin_oidc"] = p
Expand All @@ -1250,6 +1281,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalNotionSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalNotionEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalNotionEnabled, false)
e["notion"] = p
Expand All @@ -1261,6 +1293,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalSlackOidcSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalSlackOidcEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalSlackOidcEnabled, false)
e["slack_oidc"] = p
Expand All @@ -1272,6 +1305,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalSpotifySecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalSpotifyEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalSpotifyEnabled, false)
e["spotify"] = p
Expand All @@ -1283,6 +1317,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalTwitchSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalTwitchEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalTwitchEnabled, false)
e["twitch"] = p
Expand All @@ -1294,6 +1329,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalTwitterSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalTwitterEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalTwitterEnabled, false)
e["twitter"] = p
Expand All @@ -1317,6 +1353,7 @@
if len(p.Secret.SHA256) > 0 {
p.Secret.SHA256 = ValOrDefault(remoteConfig.ExternalZoomSecret, "")
}
p.EmailOptional = ValOrDefault(remoteConfig.ExternalZoomEmailOptional, false)
}
p.Enabled = ValOrDefault(remoteConfig.ExternalZoomEnabled, false)
e["zoom"] = p
Expand Down
Loading