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)}
+ >
+
+
+
+
>
)