diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index cfb99e54238..82e500c45ed 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -47,7 +47,7 @@ services: auth: container_name: supabase-auth - image: supabase/gotrue:v2.25.1 + image: supabase/gotrue:v2.31.0 depends_on: db: # Disable this if you are using an external Postgres database condition: service_healthy @@ -87,6 +87,7 @@ services: GOTRUE_EXTERNAL_PHONE_ENABLED: ${ENABLE_PHONE_SIGNUP} GOTRUE_SMS_AUTOCONFIRM: ${ENABLE_PHONE_AUTOCONFIRM} + MFA_ENABLED: ${MFA_ENABLED} rest: container_name: supabase-rest diff --git a/studio/components/interfaces/Auth/AutoSchemaForm.tsx b/studio/components/interfaces/Auth/AutoSchemaForm.tsx index 0e037598632..36fc149755d 100644 --- a/studio/components/interfaces/Auth/AutoSchemaForm.tsx +++ b/studio/components/interfaces/Auth/AutoSchemaForm.tsx @@ -25,12 +25,13 @@ const AutoSchemaForm = observer(() => { const INITIAL_VALUES = { DISABLE_SIGNUP: !authConfig.config.DISABLE_SIGNUP, - JWT_EXP: authConfig.config.JWT_EXP, SITE_URL: authConfig.config.SITE_URL, + JWT_EXP: authConfig.config.JWT_EXP, REFRESH_TOKEN_ROTATION_ENABLED: authConfig.config.REFRESH_TOKEN_ROTATION_ENABLED || false, SECURITY_REFRESH_TOKEN_REUSE_INTERVAL: authConfig.config.SECURITY_REFRESH_TOKEN_REUSE_INTERVAL, SECURITY_CAPTCHA_ENABLED: authConfig.config.SECURITY_CAPTCHA_ENABLED || false, SECURITY_CAPTCHA_SECRET: authConfig.config.SECURITY_CAPTCHA_SECRET || '', + MAX_ENROLLED_FACTORS: authConfig.config.MAX_ENROLLED_FACTORS, } const schema = object({ @@ -48,6 +49,9 @@ const AutoSchemaForm = observer(() => { is: true, then: string().required('Must have a hCaptcha secret'), }), + MAX_ENROLLED_FACTORS: number() + .min(0, 'Must be be a value more than 0') + .max(30, 'Must be a value less than 30'), }) const onSubmit = async (values: any, { setSubmitting, resetForm }: any) => { @@ -175,7 +179,7 @@ const AutoSchemaForm = observer(() => { id="SECURITY_REFRESH_TOKEN_REUSE_INTERVAL" size="small" min={0} - label="Reuse Interval" + label="Reuse interval" descriptionText="Time interval where the same refresh token can be used to request for an access token." actions={seconds} disabled={!canUpdateConfig} @@ -183,6 +187,18 @@ const AutoSchemaForm = observer(() => { )} + Multi Factor Authentication (MFA)} + > + + + + )