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 @@ + + + +