fix: read config from auth settings for local studio (#22818)

* fix: read config from local auth settings

* fix: add anonymous sign-ins setting to docker
This commit is contained in:
Kang Ming
2024-04-17 12:27:06 +07:00
committed by GitHub
parent f031b58022
commit d965540f33
3 changed files with 33 additions and 24 deletions

View File

@@ -1,5 +1,7 @@
import { NextApiRequest, NextApiResponse } from 'next' import { NextApiRequest, NextApiResponse } from 'next'
import apiWrapper from 'lib/api/apiWrapper' import apiWrapper from 'lib/api/apiWrapper'
import { get } from 'lib/common/fetch'
import { constructHeaders } from 'lib/api/apiHelpers'
export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler) export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler)
@@ -18,6 +20,11 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
} }
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => { const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders({})
const url = `${process.env.SUPABASE_URL}/auth/v1/settings`
const { external, disable_signup, mailer_autoconfirm, phone_autoconfirm } = await get(url, {
headers,
})
// Platform only API // Platform only API
return res.status(200).json({ return res.status(200).json({
app_version: '', app_version: '',
@@ -27,13 +34,13 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
isFreeTier: true, isFreeTier: true,
SITE_URL: '', SITE_URL: '',
OPERATOR_TOKEN: null, OPERATOR_TOKEN: null,
DISABLE_SIGNUP: false, DISABLE_SIGNUP: disable_signup ?? false,
RATE_LIMIT_HEADER: null, RATE_LIMIT_HEADER: null,
JWT_EXP: 3600, JWT_EXP: 3600,
JWT_AUD: '', JWT_AUD: '',
JWT_DEFAULT_GROUP_NAME: '', JWT_DEFAULT_GROUP_NAME: '',
URI_ALLOW_LIST: '', URI_ALLOW_LIST: '',
MAILER_AUTOCONFIRM: false, MAILER_AUTOCONFIRM: mailer_autoconfirm ?? false,
MAILER_OTP_EXP: 86400, MAILER_OTP_EXP: 86400,
MAILER_URLPATHS_INVITE: '', MAILER_URLPATHS_INVITE: '',
MAILER_URLPATHS_CONFIRMATION: '', MAILER_URLPATHS_CONFIRMATION: '',
@@ -46,65 +53,65 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
SMTP_USER: null, SMTP_USER: null,
SMTP_PASS: null, SMTP_PASS: null,
SMTP_MAX_FREQUENCY: 0, SMTP_MAX_FREQUENCY: 0,
EXTERNAL_ANONYMOUS_USERS_ENABLED: true, EXTERNAL_ANONYMOUS_USERS_ENABLED: external?.anonymous_users ?? true,
EXTERNAL_EMAIL_ENABLED: true, EXTERNAL_EMAIL_ENABLED: external?.email ?? true,
EXTERNAL_PHONE_ENABLED: true, EXTERNAL_PHONE_ENABLED: external?.phone ?? true,
EXTERNAL_APPLE_ENABLED: false, EXTERNAL_APPLE_ENABLED: external?.apple ?? false,
EXTERNAL_APPLE_CLIENT_ID: null, EXTERNAL_APPLE_CLIENT_ID: null,
EXTERNAL_APPLE_SECRET: null, EXTERNAL_APPLE_SECRET: null,
EXTERNAL_AZURE_ENABLED: false, EXTERNAL_AZURE_ENABLED: external?.azure ?? false,
EXTERNAL_AZURE_CLIENT_ID: null, EXTERNAL_AZURE_CLIENT_ID: null,
EXTERNAL_AZURE_SECRET: null, EXTERNAL_AZURE_SECRET: null,
EXTERNAL_AZURE_URL: null, EXTERNAL_AZURE_URL: null,
EXTERNAL_BITBUCKET_ENABLED: false, EXTERNAL_BITBUCKET_ENABLED: external?.bitbucket ?? false,
EXTERNAL_BITBUCKET_CLIENT_ID: null, EXTERNAL_BITBUCKET_CLIENT_ID: null,
EXTERNAL_BITBUCKET_SECRET: null, EXTERNAL_BITBUCKET_SECRET: null,
EXTERNAL_DISCORD_ENABLED: false, EXTERNAL_DISCORD_ENABLED: external?.discord ?? false,
EXTERNAL_DISCORD_CLIENT_ID: null, EXTERNAL_DISCORD_CLIENT_ID: null,
EXTERNAL_DISCORD_SECRET: null, EXTERNAL_DISCORD_SECRET: null,
EXTERNAL_FACEBOOK_ENABLED: false, EXTERNAL_FACEBOOK_ENABLED: external?.facebook ?? false,
EXTERNAL_FACEBOOK_CLIENT_ID: null, EXTERNAL_FACEBOOK_CLIENT_ID: null,
EXTERNAL_FACEBOOK_SECRET: null, EXTERNAL_FACEBOOK_SECRET: null,
EXTERNAL_FIGMA_ENABLED: false, EXTERNAL_FIGMA_ENABLED: external?.figma ?? false,
EXTERNAL_FIGMA_CLIENT_ID: null, EXTERNAL_FIGMA_CLIENT_ID: null,
EXTERNAL_FIGMA_SECRET: null, EXTERNAL_FIGMA_SECRET: null,
EXTERNAL_GITHUB_ENABLED: false, EXTERNAL_GITHUB_ENABLED: external?.github ?? false,
EXTERNAL_GITHUB_CLIENT_ID: null, EXTERNAL_GITHUB_CLIENT_ID: null,
EXTERNAL_GITHUB_SECRET: null, EXTERNAL_GITHUB_SECRET: null,
EXTERNAL_GITLAB_ENABLED: false, EXTERNAL_GITLAB_ENABLED: external?.gitlab ?? false,
EXTERNAL_GITLAB_CLIENT_ID: null, EXTERNAL_GITLAB_CLIENT_ID: null,
EXTERNAL_GITLAB_SECRET: null, EXTERNAL_GITLAB_SECRET: null,
EXTERNAL_GITLAB_REDIRECT_URI: null, EXTERNAL_GITLAB_REDIRECT_URI: null,
EXTERNAL_GOOGLE_ENABLED: false, EXTERNAL_GOOGLE_ENABLED: external?.google ?? false,
EXTERNAL_GOOGLE_CLIENT_ID: null, EXTERNAL_GOOGLE_CLIENT_ID: null,
EXTERNAL_GOOGLE_SECRET: null, EXTERNAL_GOOGLE_SECRET: null,
EXTERNAL_KAKAO_ENABLED: false, EXTERNAL_KAKAO_ENABLED: external?.kakao ?? false,
EXTERNAL_KAKAO_CLIENT_ID: null, EXTERNAL_KAKAO_CLIENT_ID: null,
EXTERNAL_KAKAO_SECRET: null, EXTERNAL_KAKAO_SECRET: null,
EXTERNAL_KEYCLOAK_ENABLED: false, EXTERNAL_KEYCLOAK_ENABLED: external?.keycloak ?? false,
EXTERNAL_KEYCLOAK_CLIENT_ID: null, EXTERNAL_KEYCLOAK_CLIENT_ID: null,
EXTERNAL_KEYCLOAK_SECRET: null, EXTERNAL_KEYCLOAK_SECRET: null,
EXTERNAL_KEYCLOAK_URL: null, EXTERNAL_KEYCLOAK_URL: null,
EXTERNAL_NOTION_ENABLED: false, EXTERNAL_NOTION_ENABLED: external?.notion ?? false,
EXTERNAL_NOTION_CLIENT_ID: null, EXTERNAL_NOTION_CLIENT_ID: null,
EXTERNAL_NOTION_SECRET: null, EXTERNAL_NOTION_SECRET: null,
EXTERNAL_SPOTIFY_ENABLED: false, EXTERNAL_SPOTIFY_ENABLED: external?.spotify ?? false,
EXTERNAL_SPOTIFY_CLIENT_ID: null, EXTERNAL_SPOTIFY_CLIENT_ID: null,
EXTERNAL_SPOTIFY_SECRET: null, EXTERNAL_SPOTIFY_SECRET: null,
EXTERNAL_SLACK_ENABLED: false, EXTERNAL_SLACK_ENABLED: external?.slack ?? false,
EXTERNAL_SLACK_CLIENT_ID: null, EXTERNAL_SLACK_CLIENT_ID: null,
EXTERNAL_SLACK_SECRET: null, EXTERNAL_SLACK_SECRET: null,
EXTERNAL_TWITTER_ENABLED: false, EXTERNAL_TWITTER_ENABLED: external?.twitter ?? false,
EXTERNAL_TWITTER_CLIENT_ID: null, EXTERNAL_TWITTER_CLIENT_ID: null,
EXTERNAL_TWITTER_SECRET: null, EXTERNAL_TWITTER_SECRET: null,
EXTERNAL_TWITCH_ENABLED: false, EXTERNAL_TWITCH_ENABLED: external?.twitch ?? false,
EXTERNAL_TWITCH_CLIENT_ID: null, EXTERNAL_TWITCH_CLIENT_ID: null,
EXTERNAL_TWITCH_SECRET: null, EXTERNAL_TWITCH_SECRET: null,
EXTERNAL_WORKOS_ENABLED: false, EXTERNAL_WORKOS_ENABLED: external?.workos ?? false,
EXTERNAL_WORKOS_CLIENT_ID: null, EXTERNAL_WORKOS_CLIENT_ID: null,
EXTERNAL_WORKOS_SECRET: null, EXTERNAL_WORKOS_SECRET: null,
EXTERNAL_WORKOS_URL: null, EXTERNAL_WORKOS_URL: null,
EXTERNAL_ZOOM_ENABLED: false, EXTERNAL_ZOOM_ENABLED: external?.zoom ?? false,
EXTERNAL_ZOOM_CLIENT_ID: null, EXTERNAL_ZOOM_CLIENT_ID: null,
EXTERNAL_ZOOM_SECRET: null, EXTERNAL_ZOOM_SECRET: null,
MAILER_SUBJECTS_INVITE: 'You have been invited', MAILER_SUBJECTS_INVITE: 'You have been invited',
@@ -129,7 +136,7 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
'<h2>Magic Link</h2>\n\n<p>Follow this link to login:</p>\n<p><a href="{{ .ConfirmationURL }}">Log In</a></p>', '<h2>Magic Link</h2>\n\n<p>Follow this link to login:</p>\n<p><a href="{{ .ConfirmationURL }}">Log In</a></p>',
PASSWORD_MIN_LENGTH: 6, PASSWORD_MIN_LENGTH: 6,
SMTP_SENDER_NAME: null, SMTP_SENDER_NAME: null,
SMS_AUTOCONFIRM: false, SMS_AUTOCONFIRM: phone_autoconfirm ?? false,
SMS_MAX_FREQUENCY: 0, SMS_MAX_FREQUENCY: 0,
SMS_OTP_EXP: 60, SMS_OTP_EXP: 60,
SMS_OTP_LENGTH: 6, SMS_OTP_LENGTH: 6,

View File

@@ -60,6 +60,7 @@ SMTP_PORT=2500
SMTP_USER=fake_mail_user SMTP_USER=fake_mail_user
SMTP_PASS=fake_mail_password SMTP_PASS=fake_mail_password
SMTP_SENDER_NAME=fake_sender SMTP_SENDER_NAME=fake_sender
ENABLE_ANONYMOUS_USERS=false
## Phone auth ## Phone auth
ENABLE_PHONE_SIGNUP=true ENABLE_PHONE_SIGNUP=true

View File

@@ -116,6 +116,7 @@ services:
GOTRUE_JWT_SECRET: ${JWT_SECRET} GOTRUE_JWT_SECRET: ${JWT_SECRET}
GOTRUE_EXTERNAL_EMAIL_ENABLED: ${ENABLE_EMAIL_SIGNUP} GOTRUE_EXTERNAL_EMAIL_ENABLED: ${ENABLE_EMAIL_SIGNUP}
GOTRUE_EXTERNAL_ANONYMOUS_USERS_ENABLED: ${ENABLE_ANONYMOUS_USERS}
GOTRUE_MAILER_AUTOCONFIRM: ${ENABLE_EMAIL_AUTOCONFIRM} GOTRUE_MAILER_AUTOCONFIRM: ${ENABLE_EMAIL_AUTOCONFIRM}
# GOTRUE_MAILER_SECURE_EMAIL_CHANGE_ENABLED: true # GOTRUE_MAILER_SECURE_EMAIL_CHANGE_ENABLED: true
# GOTRUE_SMTP_MAX_FREQUENCY: 1s # GOTRUE_SMTP_MAX_FREQUENCY: 1s