diff --git a/backend/open_webui/routers/auths.py b/backend/open_webui/routers/auths.py
index bd1697688c..31b0e97e7b 100644
--- a/backend/open_webui/routers/auths.py
+++ b/backend/open_webui/routers/auths.py
@@ -106,6 +106,7 @@ ADMIN_CONFIG_KEYS = {
'SHOW_ADMIN_DETAILS': 'auth.admin.show',
'ADMIN_EMAIL': 'auth.admin.email',
'WEBUI_URL': 'webui.url',
+ 'ENABLE_LOGIN_FORM': 'ui.enable_login_form',
'ENABLE_SIGNUP': 'ui.enable_signup',
'ENABLE_API_KEYS': 'auth.enable_api_keys',
'ENABLE_API_KEYS_ENDPOINT_RESTRICTIONS': 'auth.api_key.endpoint_restrictions',
@@ -1210,6 +1211,7 @@ class AdminConfig(BaseModel):
SHOW_ADMIN_DETAILS: bool
ADMIN_EMAIL: str | None = None
WEBUI_URL: str
+ ENABLE_LOGIN_FORM: bool = True
ENABLE_SIGNUP: bool
ENABLE_API_KEYS: bool
ENABLE_API_KEYS_ENDPOINT_RESTRICTIONS: bool
@@ -1268,6 +1270,8 @@ class AdminConfig(BaseModel):
@router.post('/admin/config')
async def update_admin_config(request: Request, form_data: AdminConfig, user=Depends(get_admin_user)):
updates = config_updates(form_data.model_dump(), ADMIN_CONFIG_KEYS)
+ if 'ENABLE_LOGIN_FORM' not in form_data.model_fields_set:
+ updates.pop('ui.enable_login_form', None)
if 'I18N' not in form_data.model_fields_set:
updates.pop('ui.i18n', None)
updates['ui.default_interface_settings'] = form_data.DEFAULT_INTERFACE_SETTINGS or {}
diff --git a/src/lib/components/admin/Settings/Authentication.svelte b/src/lib/components/admin/Settings/Authentication.svelte
index 2e8cf67e4b..4e4ecd3aa0 100644
--- a/src/lib/components/admin/Settings/Authentication.svelte
+++ b/src/lib/components/admin/Settings/Authentication.svelte
@@ -166,6 +166,16 @@
+
+
+
+