OAuth 提供商
每组 ID 和 Secret 必须同时设置。整组留空会禁用该提供商,只填一项会让应用在启动时失败并指出不完整配置。
docker-compose.yaml
GET /system/info 只返回启用状态和非敏感 Client ID,不返回 Secret,也不包含任何组织级企业微信/WPS 配置。
国内云
Cloud + CN 生产只允许微信登录。微信、企业微信或 WPS 认证成功后先建立正常会话;缺少手机号时,统一 setup 页面会要求完成验证后才能进入产品工作区。启动时必须同时配置WECHAT_APP_ID、WECHAT_APP_SECRET、SMS_API_URL 和 SMS_API_KEY;任一缺失都会让进程明确报错并停止。
make dev PROFILE=cn 默认使用 AT_DEV_MODE=1,无需连接微信或短信服务。登录页仍使用生产微信扫码布局,只在二维码与协议下方附加“开发者登录”。点击后输入测试用户名:相同用户名复用同一模拟账号,不同用户名创建不同账号。首次登录建立正常会话后进入生产手机号绑定页,随机验证码只写入 server 日志。未配置微信 AppID 时原二维码槽位显示未配置状态;配置后可以同时使用真实二维码。共享开发或预发应设置 AT_DEV_MODE=0 并补齐四项生产配置。
邮箱登录与 SMTP
docker-compose.yaml
aliyun 使用固定的阿里云邮件推送主机和 SSL 端口,发件地址同时作为用户名;custom 使用给定的 Host、Port 与 SSL 选项,Username 留空时回退到发件地址。SMTP 未完整配置时,依赖邮件发送的任务会跳过邮件投递。
若 Google、GitHub、微信全部未启用,即使
EMAIL_LOGIN_ENABLED=false,系统也会保留邮箱登录兜底,避免部署完全没有登录入口。组织级企业微信/WPS 不参与这个判断。