通用通行证2026年5月综合更新说明

本次更新合计72项,包含功能性更新40项,安全和性能更新32项


功能性更新

统一认证能力

  • 新增 OpenID Connect 统一认证服务,可用于第三方平台的统一登录入口。
  • 新增 OIDC Discovery、公钥、授权、令牌、用户信息等标准端点。
  • 新增对外认证服务域名配置,支持后台管理域名与公开认证域名分离部署。
  • 新增 Web 服务器转发部署支持,适配 Apache 与 Nginx 场景。

通用通行认证管理

  • 新增“通用通行认证”管理模块。
  • 支持认证应用的创建、编辑、启用、停用和删除。
  • 支持 OIDC 客户端密钥生成、重置、删除。
  • 客户端密钥创建或重置后通过页内弹窗一次性展示。
  • 授权范围支持手动输入与常用范围下拉勾选。

Passkey 登录

  • 新增 Passkey 登录能力。
  • 支持用户绑定、管理和删除多个 Passkey。
  • 只要用户存在至少一个 Passkey,即可使用 Passkey 登录。
  • Passkey 登录复用统一登录页的 ID、用户名或邮箱输入框。
  • 超级管理员和管理员也支持 Passkey 登录。
  • 超级管理员可重置成员 Passkey 设置。

后台与权限管理

  • 新增超级管理员后台。
  • 新增成员管理、部门管理、认证记录、事件记录和通用通行认证管理。
  • 新增管理员权限模型。
  • 支持为管理员分配成员管理、部门管理、日志查看、事件记录、认证密钥管理等权限。
  • 支持按管理范围限制管理员可操作的成员和部门。
  • 被授权管理员可进入通用通行认证管理界面,并看到与超级管理员一致的认证应用管理功能。

成员、部门与记录

  • 新增成员添加、修改、停用、重置 OTP、重置密码、重置 Passkey 功能。
  • 新增部门树管理。
  • 新增成员部门分配。
  • 新增旧数据部门信息扫描与回填。
  • 新增事件记录能力。
  • 新增按成员、部门和事件类型查看认证记录。

页面与交互体验

  • 后台登录页升级为统一登录入口。
  • 优化个人资料页文案和管理入口命名,统一使用“通用通行证”相关表述。
  • 删除适用于全站的CloudFlare人机验证,改为特定操作触发多数情况下无需认为干涉的全自动人机验证。
  • 优化登录、验证、注册、Passkey 登录页面的 Cloudflare Turnstile 交互。
  • Turnstile 统一为点击操作按钮后显示并自动执行。
  • 优化移动端资料预览页顶部操作栏显示。
  • 页内弹窗新增动画过渡。
  • 修改密码流程新增二次确认输入。
  • 登录失败后保留已输入的账号和密码,仅清空 OTP。

项目结构与部署

  • 重构项目目录结构,将 Python、PHP、MySQL 文件分别归类到独立目录。
  • Python 与 PHP 运行时配置拆分,分别使用各自目录下的 .env。
  • 新增数据库自动迁移能力,支持旧数据库自动补齐新版所需表和字段。
  • 更新项目说明文档,补充统一认证、Passkey、权限模型、数据库迁移和部署说明。

安全和性能更新

登录与会话安全

  • 统一后台登录失败提示,不再暴露具体失败原因。
  • 注销流程由 GET 链接改为 POST + CSRF 校验。
  • 关键 POST 操作增加 CSRF 校验。
  • 后台接口由旧的账号密码式校验升级为登录令牌校验。
  • 登录、注册、验证、OIDC 授权和 Passkey 登录统一接入 Turnstile 操作环境检测。

权限与越权防护

  • 强化管理员权限校验,普通管理员只能执行已授权操作。
  • 普通管理员不能创建管理员或超级管理员。
  • 普通管理员不能越权修改角色、权限、管理范围和账号状态。
  • 部门树保存和成员部门分配均按权限与管理范围校验。
  • 修复成员创建、成员修改、部门管理等权限与后端校验不一致的问题。

Passkey 安全

  • 新增 WebAuthn sign_count 校验,用于检测认证器克隆风险。
  • 当认证器返回非零计数器时,新计数必须大于数据库旧计数,否则拒绝登录。
  • 修复 Passkey 缺少克隆检测的问题。

OIDC 安全

  • OIDC 客户端密钥仅保存哈希,不保存明文。
  • 客户端密钥仅在创建或重置后显示一次。
  • OIDC 授权码具备过期时间并限制一次性使用。
  • OIDC 访问令牌仅保存哈希。
  • 删除认证应用时自动清理相关授权码、访问令牌和登录记录。
  • 修复 OIDC 公开地址访问异常的问题。
  • 修复 OIDC 授权范围选择显示异常的问题。

数据库与兼容性

  • 优化数据库初始化顺序,先创建基础表再执行字段迁移。
  • 修复空数据库冷启动时因表不存在导致迁移失败的问题。
  • 修复旧数据库缺少字段时无法自动升级的问题。
  • 保留历史字段并通过自动迁移平滑升级。
  • 优化日志和事件数据结构,支持部门路径、事件标记和创建人记录。

稳定性与体验修复

  • 修复 Turnstile 自动验证码异常导致无法正常登录的问题。
  • 修复中文页面、网站标题和邮件发件人乱码问题。
  • 修复移动端注销按钮错位问题。
  • 修复登录成功后显示多余成功提示的问题。
  • 修复修改密码缺少二次确认的问题。
  • 修复登录失败后清空账号和密码的问题。
  • 优化 PHP 与 Python 配置隔离,降低误配置和信息泄露风险。

已发布

分类

,

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Are you human? Please solve:Captcha