Merge pull request #5862 from supabase/J0-add-workos-buttons

Add initial config for Workos and KeyCloak
This commit is contained in:
Kang Ming authored and GitHub committed 2022-03-28 16:35:20 +02:00
commit 2d64a2e351
3 files changed
+127

No files matched your search

+9
View File
@@ -72,6 +72,10 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
EXTERNAL_GOOGLE_ENABLED: false,
EXTERNAL_GOOGLE_CLIENT_ID: null,
EXTERNAL_GOOGLE_SECRET: null,
EXTERNAL_KEYCLOAK_ENABLED: false,
EXTERNAL_KEYCLOAK_CLIENT_ID: null,
EXTERNAL_KEYCLOAK_SECRET: null,
EXTERNAL_KEYCLOAK_URL: null,
EXTERNAL_LINKEDIN_ENABLED: false,
EXTERNAL_LINKEDIN_CLIENT_ID: null,
EXTERNAL_LINKEDIN_SECRET: null,
@@ -90,9 +94,14 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
EXTERNAL_TWITCH_ENABLED: false,
EXTERNAL_TWITCH_CLIENT_ID: null,
EXTERNAL_TWITCH_SECRET: null,
EXTERNAL_WORKOS_ENABLED: false,
EXTERNAL_WORKOS_CLIENT_ID: null,
EXTERNAL_WORKOS_SECRET: null,
EXTERNAL_WORKOS_URL: null,
EXTERNAL_ZOOM_ENABLED: false,
EXTERNAL_ZOOM_CLIENT_ID: null,
EXTERNAL_ZOOM_SECRET: null,
MAILER_SUBJECTS_INVITE: 'You have been invited',
MAILER_SUBJECTS_CONFIRMATION: 'Confirm Your Signup',
MAILER_SUBJECTS_RECOVERY: 'Reset Your Password',
@@ -421,6 +421,10 @@ const Settings = () => {
'EXTERNAL_GITLAB_ENABLED',
'EXTERNAL_GITLAB_CLIENT_ID',
'EXTERNAL_GITLAB_SECRET',
'EXTERNAL_KEYCLOAK_ENABLED',
'EXTERNAL_KEYCLOAK_CLIENT_ID',
'EXTERNAL_KEYCLOAK_SECRET',
'EXTERNAL_KEYCLOAK_URL',
'EXTERNAL_LINKEDIN_ENABLED',
'EXTERNAL_LINKEDIN_CLIENT_ID',
'EXTERNAL_LINKEDIN_SECRET',
@@ -439,6 +443,10 @@ const Settings = () => {
'EXTERNAL_SPOTIFY_ENABLED',
'EXTERNAL_SPOTIFY_CLIENT_ID',
'EXTERNAL_SPOTIFY_SECRET',
'EXTERNAL_WORKOS_ENABLED',
'EXTERNAL_WORKOS_CLIENT_ID',
'EXTERNAL_WORKOS_SECRET',
'EXTERNAL_WORKOS_URL',
'EXTERNAL_ZOOM_ENABLED',
'EXTERNAL_ZOOM_CLIENT_ID',
'EXTERNAL_ZOOM_SECRET',
@@ -469,6 +477,10 @@ const Settings = () => {
EXTERNAL_GOOGLE_ENABLED: model.EXTERNAL_GOOGLE_ENABLED,
EXTERNAL_GOOGLE_CLIENT_ID: model.EXTERNAL_GOOGLE_CLIENT_ID || undefined,
EXTERNAL_GOOGLE_SECRET: model.EXTERNAL_GOOGLE_SECRET || undefined,
EXTERNAL_KEYCLOAK_ENABLED: model.EXTERNAL_KEYCLOAK_ENABLED,
EXTERNAL_KEYCLOAK_CLIENT_ID: model.EXTERNAL_KEYCLOAK_CLIENT_ID || undefined,
EXTERNAL_KEYCLOAK_SECRET: model.EXTERNAL_KEYCLOAK_SECRET || undefined,
EXTERNAL_KEYCLOAK_URL: model.EXTERNAL_KEYCLOAK_URL || undefined,
EXTERNAL_LINKEDIN_ENABLED: model.EXTERNAL_LINKEDIN_ENABLED,
EXTERNAL_LINKEDIN_CLIENT_ID: model.EXTERNAL_LINKEDIN_CLIENT_ID || undefined,
EXTERNAL_LINKEDIN_SECRET: model.EXTERNAL_LINKEDIN_SECRET || undefined,
@@ -487,6 +499,10 @@ const Settings = () => {
EXTERNAL_SPOTIFY_ENABLED: model.EXTERNAL_SPOTIFY_ENABLED,
EXTERNAL_SPOTIFY_CLIENT_ID: model.EXTERNAL_SPOTIFY_CLIENT_ID || undefined,
EXTERNAL_SPOTIFY_SECRET: model.EXTERNAL_SPOTIFY_SECRET || undefined,
EXTERNAL_WORKOS_ENABLED: model.EXTERNAL_WORKOS_ENABLED,
EXTERNAL_WORKOS_CLIENT_ID: model.EXTERNAL_WORKOS_CLIENT_ID || undefined,
EXTERNAL_WORKOS_SECRET: model.EXTERNAL_WORKOS_SECRET || undefined,
EXTERNAL_WORKOS_URL: model.EXTERNAL_WORKOS_URL || undefined,
EXTERNAL_ZOOM_ENABLED: model.EXTERNAL_ZOOM_ENABLED,
EXTERNAL_ZOOM_CLIENT_ID: model.EXTERNAL_ZOOM_CLIENT_ID || undefined,
EXTERNAL_ZOOM_SECRET: model.EXTERNAL_ZOOM_SECRET || undefined,
@@ -732,6 +748,40 @@ const Settings = () => {
</>
)}
<Divider light />
<ToggleField
name="EXTERNAL_KEYCLOAK_ENABLED"
addOns={
externalProvidersModel.EXTERNAL_KEYCLOAK_ENABLED && (
<a
className="pl-4 text-scale-900"
href="https://www.keycloak.org/"
target="_blank"
>
Create new credentials
</a>
)
}
/>
{externalProvidersModel.EXTERNAL_KEYCLOAK_ENABLED && (
<>
<AutoField
name="EXTERNAL_KEYCLOAK_CLIENT_ID"
showInlineError
errorMessage="Please enter the client id."
/>
<SecretField
name="EXTERNAL_KEYCLOAK_SECRET"
showInlineError
errorMessage="Please enter the secret."
/>
<AutoField
name="EXTERNAL_KEYCLOAK_URL"
showInlineError
errorMessage="Please enter the Keycloak url."
/>
</>
)}
<Divider light />
<ToggleField
name="EXTERNAL_LINKEDIN_ENABLED"
addOns={
@@ -906,6 +956,40 @@ const Settings = () => {
</>
)}
<Divider light />
<ToggleField
name="EXTERNAL_WORKOS_ENABLED"
addOns={
externalProvidersModel.EXTERNAL_WORKOS_ENABLED && (
<a
className="pl-4 text-scale-900"
href="https://dashboard.workos.com"
target="_blank"
>
Create new credentials
</a>
)
}
/>
{externalProvidersModel.EXTERNAL_WORKOS_ENABLED && (
<>
<AutoField
name="EXTERNAL_WORKOS_CLIENT_ID"
showInlineError
errorMessage="Please enter the client id."
/>
<SecretField
name="EXTERNAL_WORKOS_SECRET"
showInlineError
errorMessage="Please enter the secret."
/>
<AutoField
name="EXTERNAL_WORKOS_URL"
showInlineError
errorMessage="Please enter the WorkOS url."
/>
</>
)}
<Divider light />
<ToggleField
name="EXTERNAL_ZOOM_ENABLED"
addOns={
@@ -16,12 +16,14 @@
"EXTERNAL_GITHUB_ENABLED",
"EXTERNAL_GITLAB_ENABLED",
"EXTERNAL_GOOGLE_ENABLED",
"EXTERNAL_KEYCLOAK_ENABLED",
"EXTERNAL_LINKEDIN_ENABLED",
"EXTERNAL_NOTION_ENABLED",
"EXTERNAL_TWITCH_ENABLED",
"EXTERNAL_TWITTER_ENABLED",
"EXTERNAL_SLACK_ENABLED",
"EXTERNAL_SPOTIFY_ENABLED",
"EXTERNAL_WORKOS_ENABLED",
"EXTERNAL_ZOOM_ENABLED",
"SMS_AUTOCONFIRM",
"SMS_MAX_FREQUENCY",
@@ -191,6 +193,22 @@
"title": "Google secret",
"type": "string"
},
"EXTERNAL_KEYCLOAK_ENABLED": {
"title": "Keycloak enabled",
"type": "boolean"
},
"EXTERNAL_KEYCLOAK_CLIENT_ID": {
"title": "Keycloak client ID",
"type": "string"
},
"EXTERNAL_KEYCLOAK_SECRET": {
"title": "Keycloak secret",
"type": "string"
},
"EXTERNAL_KEYCLOAK_URL": {
"title": "Keycloak URL",
"type": "string"
},
"EXTERNAL_LINKEDIN_ENABLED": {
"title": "Linkedin enabled",
"type": "boolean"
@@ -263,6 +281,22 @@
"title": "Spotify secret",
"type": "string"
},
"EXTERNAL_WORKOS_ENABLED": {
"title": "WorkOS enabled",
"type": "boolean"
},
"EXTERNAL_WORKOS_CLIENT_ID": {
"title": "WorkOS client ID",
"type": "string"
},
"EXTERNAL_WORKOS_SECRET": {
"title": "WorkOS secret",
"type": "string"
},
"EXTERNAL_WORKOS_URL": {
"title": "WorkOS URL",
"type": "string"
},
"EXTERNAL_ZOOM_ENABLED": {
"title": "Zoom enabled",
"type": "boolean"