项目介绍
认证中心联调 Mock 是一个零第三方依赖的 Python IAM 模拟服务,用于本地联调登录、换票、身份与权限接口。
它模拟统一认证中心对 Dify 等控制台提供的协议,让开发环境不依赖真实 IAM 也能跑通单点登录链路。
技术栈
- 语言:Python 3
- 运行时:标准库
http.server、ThreadingHTTPServer - 数据:内存 + JSON(
iam_init.json/users.json) - 依赖:无第三方包
功能清单
| 模块 | 功能 |
|---|---|
| 登录页 | 浏览器登录页、用户选择、登录后回跳并附带一次性授权码 |
| 换票 | 用一次性 zAutCod 换取访问令牌 zAcsTkn |
| 身份接口 | /auth/me 返回用户、应用角色与租户信息 |
| 兼容接口 | /users/me、/authorization/permissions 旧版接口 |
| 双端口 | 登录页默认 30180,网关默认 30081 |
| 用户配置 | 内置 admin / alice / bob / norole,也支持 users.json |
| 应用过滤 | 按 xAppCod 只返回本应用角色 |
| 跳转推断 | 优先从 Referer 推断控制台地址,也可通过参数指定 |
技术架构
浏览器 / Dify
│ 登录页 :30180
▼
iam_mock_server.py
(Python 标准库 http.server)
├─ 登录页 HTML
├─ 一次性授权码
├─ 网关接口 :30081
└─ iam_init.json / users.json
登录成功后生成一次性授权码,换取 token 后立即失效;不校验密码、不落数据库,只用于接口协议联调。