登录认证用于控制登录页、注册入口、邮箱验证、人机验证、第三方身份源和登录安全策略。它决定用户如何进入平台,以及高风险安全流程如何验证身份。
使用入口#
进入管理端后打开“登录认证”。页面按登录页面、登录与注册、人机验证、绑定与验证、登录安全和 OIDC / OAuth2 身份源组织。
修改登录认证配置前,应确保至少有一个管理员账号仍然可以通过可用方式登录,避免把管理端锁在门外。
登录页面#
登录页面区域控制浏览器标签页标题和默认登录后去向。默认跳转路径用于访问 /login 且没有 next 参数时的登录成功跳转。
如果站点有专门的工作区首页、最近对话或管理入口,可以按部署需求调整默认路径。
登录与注册#
登录与注册区域控制邮箱登录、用户名登录、邮箱注册、密码重置和第三方登录。
| 开关 | 影响 |
|---|---|
| 邮箱登录 | 允许用户使用邮箱和密码登录。 |
| 用户名登录 | 允许用户使用用户名和密码登录。 |
| 邮箱注册 | 允许用户通过邮箱创建账号。 |
| 重置密码 | 允许登录页重置密码,通常需要邮箱验证可用。 |
| 第三方登录 | 展示已启用的 OIDC / OAuth2 身份源。 |
如果关闭邮箱登录和用户名登录,应先开启第三方登录,并确认管理员已经绑定可用身份源。
邮箱验证#
开启邮箱验证后,邮箱注册、邮箱变更、密码重置和部分安全操作会依赖验证码邮件。此时需要配置 SMTP 主机、端口、用户名、密码和发件人。
注册域名白名单用于限制允许注册的邮箱域名;禁止邮箱别名可以阻止使用 + 别名绕过注册策略。
人机验证#
注册人机验证基于 Cloudflare Turnstile,用于减少自动注册。它只影响邮箱注册流程,不影响第三方登录。开启前需要先允许邮箱注册,并填写 Turnstile Site Key 和 Secret Key。
第三方身份源#
第三方登录支持自定义 OIDC 和 OAuth2 身份源。管理员可以新增、编辑、排序、启停登录控制和注册控制,并配置 Logo、Client 信息、地址、Scopes 和字段映射。
身份源的登录控制决定是否允许已有账号用它登录;注册控制决定是否允许通过它自动创建账号。同邮箱自动绑定只会在身份源返回已验证邮箱时绑定到已有账号。
删除身份源会解绑所有使用该身份源的账号。若存在账号只依赖该身份源登录,系统会提示强制删除风险。删除前应确认这些用户已经设置密码或绑定其他登录方式。
登录安全#
登录安全区域控制访问令牌有效期、登录保持时间、失败锁定阈值、锁定时长和平台 HTTP 429 限流。
较短的登录保持时间适合高安全场景,较长时间适合内部可信环境。失败锁定用于缓解密码撞库和暴力尝试;平台限流用于限制高频请求。如果外层网关已经统一限流,可以结合部署策略决定是否开启平台内置限流。
使用建议#
先配置至少两种可靠的管理员登录方式,再开放注册或第三方登录。修改认证策略后,用管理员账号和普通用户账号分别验证登录、注册、密码重置、第三方绑定和退出后的重新登录。
配置项对照#
登录认证页对应 auth.* 设置。更新配置时建议按分组检查,避免只改 UI 文案而漏掉真实参数。
| 分组 | 配置键 |
|---|---|
| 登录页面 | auth.login_page_title、auth.login_default_next_path |
| 登录与注册 | auth.email_login_enabled、auth.email_registration_enabled、auth.password_reset_enabled、auth.username_login_enabled、auth.third_party_login_enabled |
| Turnstile | auth.turnstile_registration_enabled、auth.turnstile_site_key、auth.turnstile_secret_key |
| 邮箱验证与 SMTP | auth.email_verification_enabled、auth.smtp_host、auth.smtp_port、auth.smtp_username、auth.smtp_password、auth.smtp_from |
| 注册策略 | auth.email_registration_allowed_domains、auth.email_registration_block_plus_alias、auth.auto_link_verified_email |
| 登录安全 | auth.token_ttl_hours、auth.refresh_token_ttl_hours、auth.login_max_failures、auth.login_lock_minutes、auth.rate_limit_enabled、auth.rate_limit_rpm、auth.public_auth_rate_limit_rpm |
第三方 OIDC / OAuth2 身份源不是单个 auth.* 键,而是身份源记录;登录开关和注册开关由身份源自身状态控制。