Fago 文档 Fago 文档
首页
快速开始
后端手册
前端手册
规划备查
文档维护
首页
快速开始
后端手册
前端手册
规划备查
文档维护
  • 快速开始

    • 简介
    • 功能列表
    • 快速启动(后端)
    • 快速启动(前端)
    • 技术选型
    • 项目结构
    • 接口与错误码
  • 后端手册

    • 配置与环境
    • 登录与会话
    • 功能权限与菜单
    • 数据权限
    • 用户、部门、岗位与角色
    • 租户与安全策略
    • 异常处理与错误码
    • 参数、分页与响应
    • 数据库迁移
    • 日志、脱敏与请求加密
    • 平台租户与套餐
    • fago-cli 常用命令
    • 发布验证与恢复演练
    • 字典与参数配置
    • 文件与对象存储
    • 站内通知与执行恢复
    • 定时任务与运行恢复
    • 可靠消息后端与积压观测
    • 身份客户端与设备会话
    • 会员认证与账号管理
    • 服务账号与 scope
    • OIDC 提供方与外部绑定
    • 原生 SSO 验收客户端
    • 账号认证模式
    • 工作流 API 与运行目录
  • 前端手册

    • 本地启动
    • 菜单与路由
    • 请求合同
    • 页面与按钮权限
    • 浏览器单点登录
    • 审批中心与表单发起
    • 工作流定义与运行管理
  • 规划备查

    • Fago:架构与实施方案
    • 总体架构
    • 身份、权限与租户设计
    • Vben 5 前端与 API 合同
    • 数据库与消息后端适配
    • 纯 Go 通用工作流:文件、文档与业务流程
    • 核心数据模型
    • 分期、工作包与验收
    • 架构决策与风险
    • 参考来源与基线
    • 网络安全等级保护二级合规要求
    • M0 实施与验收
    • M1 身份与导航实施及验收
    • 项目配置、API 内容加密与敏感数据脱敏
    • M2 系统管理实施记录
    • M3 平台与 SaaS 实施记录
    • fago-cli 功能规划
    • 生产传输层 WARN 变更范围(2026-10-23)
    • M4 发布实施与验收
    • M4 加固检查归档(本地工程环境)
    • M5 通用平台与身份实施
    • M6 R3.1 正式工作流核心与基础审批
目录

账号认证模式

# 账号认证模式

# 目的

让读者查询或修改自然人账号的登录方式(口令、混合、仅 SSO),并理解变更会撤销全部旧会话。查询成功返回 mode 与 version;修改成功返回更新后的投影,失败时保留原策略且不泄漏已回滚内容。

# 前置条件

schema v26 已迁移,API 已启动。租户侧需要 auth-mode:read / auth-mode:write 及保留 tenant_admin 角色(写入时);平台侧需要 platform:auth-mode:*。修改须提交当前操作者口令 operatorPassword 做再鉴别。

schema v26 为平台、租户后台和会员账号提供三种登录方式。升级后的历史账号及新账号默认 hybrid,保留原有入口行为。服务账号继续使用独立机器凭据,不使用本页策略。Vben 已接入实际SSO登录与恢复,本页说明认证模式管理。

# 选择登录方式

模式 口令登录 已验证 OIDC 登录
password(仅口令登录) 允许 拒绝
hybrid(口令或 SSO 登录) 允许 允许
sso_only(仅 SSO 登录) 拒绝 允许

表中“允许”仍须满足当前账号、租户、客户端、绑定和安全策略。未知或损坏的模式一律拒绝。仅 SSO 登录关闭的是口令登录入口,仍保留本地敏感操作的口令再鉴别,以及锁定、必须改密和密码有效期约束;它不是没有本地凭据的账号。必须改密的 OIDC 会话只可完成受限改密,成功后须重新 SSO 登录。

# 查看与修改

先显式迁移到 v26 并启动真实 API。租户管理员在“账号认证模式”选择后台或会员类型,输入本租户账号 ID 后查询;平台管理员在“平台认证模式”只能查询平台账号。页面只返回 ID、模式、状态和版本,不返回密码、外部主体或完整个人资料。

读取权限为 auth-mode:read,平台为 platform:auth-mode:read。修改另需对应 :write、当前管理员身份和本人的管理员口令;租户写入要求真实保留 tenant_admin 角色。只读角色不显示修改按钮,直接调用接口仍由服务端拒绝。

打开“更改登录方式”,选择不同模式并输入本人口令。取消、失败或身份切换会清除本次输入。提交使用查询时的账号版本;版本冲突时关闭弹窗,重新查询再决定,不能自动覆盖。修改本人成功后页面清理内存身份并返回当前域登录页。

实际变更在同一事务内推进账号版本与凭据版本,撤销该账号所有客户端的旧会话,清空相关 OIDC 加密材料并写入审计;任一步失败全部回滚。恢复口令模式也不会恢复旧 access、refresh 或缓存身份。重复提交同一模式仅在版本及再鉴别通过后作为无变化操作,不重复推进版本。

# 最后入口与恢复管理员

切换到 sso_only 前,账号必须启用且当前未锁定,并存在当前启用、部署批准、能够路由到正式回调的客户端、提供方和绑定。按精确 issuer/sub 判断,同 issuer 的其他已批准提供方也可使用绑定,不能只看最初的来源 provider ID。该检查在事务内读取当前结构,不探测外部网络,不保证 IdP 在线。

有效的仅 SSO 账号不能计划解绑最后一个结构性入口。若全部入口已因故障或紧急关闭失效,可以清理坏绑定,但账号仍不能口令登录。平台可紧急停用最后提供方或客户端,系统保持拒绝,不自动降级。

租户必须保留至少一名启用、未注销、具有真实保留 tenant_admin 角色并允许口令登录的管理员;平台必须保留至少一名启用且 role_code=platform_admin 的口令管理员。模式切换、租户管理员启停、删除与角色替换共同遵守这一不变量。临时锁定、密码到期、租户不可用或紧急关闭口令客户端仍可能暂时阻止恢复,系统不会自动放宽这些保护。

IdP 故障时,由现有口令恢复管理员从本地入口登录,核对目标后显式恢复 hybrid 或 password;没有自动回退或通用应急密码。恢复命令仍要求再鉴别、当前版本及审计。

# 接口与边界

  • 租户:GET/PUT /api/admin/v1/identity/authentication-modes/{id}。
  • 平台:GET/PUT /api/platform/v1/identity/authentication-modes/{id}。
  • GET 只接受一个 realm 查询项;PUT 在正文中传 realm、mode、version、operatorPassword,禁止额外查询参数、租户替代或未知字段。

读取租户后台账号(realm=admin):

GET /api/admin/v1/identity/authentication-modes/1001?realm=admin
Origin: http://127.0.0.1:5174
X-App-Request: admin
Authorization: Bearer <access>
{
  "code": 0,
  "data": {
    "realm": "admin",
    "tenantId": "1",
    "subjectId": "1001",
    "mode": "hybrid",
    "status": "enabled",
    "version": 3
  },
  "message": "ok",
  "requestId": "req_example"
}

修改为仅 SSO(须满足本页「最后入口」规则,且 version 与查询一致):

PUT /api/admin/v1/identity/authentication-modes/1001
Origin: http://127.0.0.1:5174
X-App-Request: admin
Authorization: Bearer <access>
Content-Type: application/json

{
  "realm": "admin",
  "mode": "sso_only",
  "version": 3,
  "operatorPassword": "<操作者提供>"
}

版本冲突返回 409001;违反最后入口或恢复管理员约束返回 409003:

{
  "code": 409003,
  "message": "当前状态不允许此操作",
  "requestId": "req_example"
}

接口沿用统一 JSON/JWE、Origin、认证和当前权限校验。口令不写入审计、错误属性或日志;对外只返回公开提示和业务码。依赖故障拒绝本次操作,不自动重试敏感事务。

# 关联

相关配置见 OIDC管理,浏览器入口见 浏览器单点登录,阶段证据见 M5实施记录。达梦目前只有 v26 迁移源码,未认证;本地结果不代表生产或容量支持。

最后更新: 2026/10/28 10:34:52
原生 SSO 验收客户端
工作流 API 与运行目录

← 原生 SSO 验收客户端 工作流 API 与运行目录→

Theme by Vdoing | Copyright © 2026-2026 Fago 项目文档
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式