feat: enable figma provider

This commit is contained in:
Benjamin Tan committed 2023-06-15 17:26:28 +08:00
1 parent 0bdbde7e21
commit 30ef320972
5 files changed
+60 -2

No files matched your search

@@ -30,6 +30,10 @@ export interface AuthConfig {
EXTERNAL_FACEBOOK_CLIENT_ID: string | null
EXTERNAL_FACEBOOK_SECRET: string | null
EXTERNAL_FIGMA_ENABLED: boolean
EXTERNAL_FIGMA_CLIENT_ID: string | null
EXTERNAL_FIGMA_SECRET: string | null
EXTERNAL_GITHUB_ENABLED: false
EXTERNAL_GITHUB_CLIENT_ID: string | null
EXTERNAL_GITHUB_SECRET: string | null
+3
View File
@@ -64,6 +64,9 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
EXTERNAL_FACEBOOK_ENABLED: false,
EXTERNAL_FACEBOOK_CLIENT_ID: null,
EXTERNAL_FACEBOOK_SECRET: null,
EXTERNAL_FIGMA_ENABLED: false,
EXTERNAL_FIGMA_CLIENT_ID: null,
EXTERNAL_FIGMA_SECRET: null,
EXTERNAL_GITHUB_ENABLED: false,
EXTERNAL_GITHUB_CLIENT_ID: null,
EXTERNAL_GITHUB_SECRET: null,
@@ -540,6 +540,44 @@ const EXTERNAL_PROVIDER_FACEBOOK = {
},
}
const EXTERNAL_PROVIDER_FIGMA = {
$schema: JSON_SCHEMA_VERSION,
type: 'object',
title: 'Figma',
properties: {
EXTERNAL_FIGMA_ENABLED: {
title: 'Figma enabled',
type: 'boolean',
},
EXTERNAL_FIGMA_CLIENT_ID: {
title: 'Client ID',
type: 'string',
},
EXTERNAL_FIGMA_SECRET: {
title: 'Client Secret',
type: 'string',
isSecret: true,
},
},
validationSchema: object().shape({
EXTERNAL_FIGMA_ENABLED: boolean().required(),
EXTERNAL_FIGMA_CLIENT_ID: string().when('EXTERNAL_FIGMA_ENABLED', {
is: true,
then: (schema) => schema.required('Client ID is required'),
otherwise: (schema) => schema,
}),
EXTERNAL_FIGMA_SECRET: string().when('EXTERNAL_FIGMA_ENABLED', {
is: true,
then: (schema) => schema.required('Client Secret is required'),
otherwise: (schema) => schema,
}),
}),
misc: {
iconKey: 'figma-icon',
requiresRedirect: true,
},
}
const EXTERNAL_PROVIDER_GITHUB = {
$schema: JSON_SCHEMA_VERSION,
type: 'object',
@@ -1060,6 +1098,7 @@ export const PROVIDERS_SCHEMAS = [
EXTERNAL_PROVIDER_BITBUCKET,
EXTERNAL_PROVIDER_DISCORD,
EXTERNAL_PROVIDER_FACEBOOK,
EXTERNAL_PROVIDER_FIGMA,
EXTERNAL_PROVIDER_GITHUB,
EXTERNAL_PROVIDER_GITLAB,
EXTERNAL_PROVIDER_GOOGLE,
@@ -156,6 +156,18 @@
"title": "Facebook secret",
"type": "string"
},
"EXTERNAL_FIGMA_ENABLED": {
"title": "Figma enabled",
"type": "boolean"
},
"EXTERNAL_FIGMA_CLIENT_ID": {
"title": "Figma client ID",
"type": "string"
},
"EXTERNAL_FIGMA_SECRET": {
"title": "Figma secret",
"type": "string"
},
"EXTERNAL_GITHUB_ENABLED": {
"title": "GitHub enabled",
"type": "boolean"
+2 -2
View File
@@ -59,8 +59,8 @@ double_confirm_changes = true
enable_confirmations = false
# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`,
# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin`, `notion`, `twitch`,
# `twitter`, `slack`, `spotify`, `workos`, `zoom`.
# `discord`, `facebook`, `figma`, `github`, `gitlab`, `google`, `keycloak`, `linkedin`, `notion`,
# `twitch`, `twitter`, `slack`, `spotify`, `workos`, `zoom`.
[auth.external.apple]
enabled = false
client_id = ""