修改登录逻辑

This commit is contained in:
2026-07-06 15:54:27 +08:00
parent fe66794168
commit 53b1842de8
12 changed files with 198 additions and 28 deletions

View File

@@ -160,8 +160,10 @@ https://你的域名/api/auth/callback
|------|------|
| `ZHINIAN_AUTH_REQUIRED` | `auto` 默认策略;生产启用,本地可信开发可设 `0` |
| `ZHINIAN_AUTH_BASE_URL` | 认证服务网关地址,例如 `https://<gateway-domain>/auth` |
| `ZHINIAN_AUTH_CLIENT_ID` | OAuth2 客户端 ID默认 `app` |
| `ZHINIAN_AUTH_CLIENT_SECRET` | OAuth2 客户端密钥,只能保存在服务端 |
| `ZHINIAN_AUTH_CLIENT_ID` | 普通账号 OAuth2 客户端 ID默认 `custom` |
| `ZHINIAN_AUTH_CLIENT_SECRET` | 普通账号 OAuth2 客户端密钥,只能保存在服务端 |
| `ZHINIAN_ADMIN_AUTH_CLIENT_ID` | 管理员登录入口 OAuth2 客户端 ID默认 `app` |
| `ZHINIAN_ADMIN_AUTH_CLIENT_SECRET` | 管理员登录入口 OAuth2 客户端密钥,只能保存在服务端 |
| `ZHINIAN_AUTH_SCOPE` | 默认 `server` |
| `ZHINIAN_AUTH_ISSUER` | JWT issuer默认 `https://pig4cloud.com` |
| `ZHINIAN_AUTH_PASSWORD_ENC_KEY` | 按认证中心 `security.encode-key` 对 password grant 的密码做 AES-CFB 加密,默认示例 `thanks,pig4cloud` |
@@ -171,7 +173,7 @@ https://你的域名/api/auth/callback
受保护范围包括 `/create``/assets``/settings``/logs``/accounts`、第一方生成/资产 API以及本地 `/uploads/*``/generated-results/*` 文件。普通用户主导航只显示创作和结果;`/logs``/settings``/accounts``/api/admin/*` 需要管理员权限。开放 `/api/v1/*` 仍使用 API KeyWorker 仍使用内部 token不走浏览器 SSO。
如果认证中心客户端没有加入 `security.ignore-clients``/oauth2/token` 可能返回“验证码不能为空”。当前推荐使用运维分配的 `app/app` 客户端;如改用 `customPC` 登录平台用户,需要认证中心把该 clientId 加入 `security.ignore-clients`
如果认证中心客户端没有加入 `security.ignore-clients``/oauth2/token` 可能返回“验证码不能为空”。普通账号登录默认使用 `custom/custom`登录页里的“管理员登录”入口使用 `app/app`。两组 client 都需要认证中心允许 password grant
## 组织账号管理
@@ -273,6 +275,8 @@ cp .env.example .env.local
| `ZHINIAN_AUTH_BASE_URL` | 统一认证中心地址 |
| `ZHINIAN_AUTH_CLIENT_ID` | OAuth2 客户端 ID |
| `ZHINIAN_AUTH_CLIENT_SECRET` | OAuth2 客户端密钥 |
| `ZHINIAN_ADMIN_AUTH_CLIENT_ID` | 管理员登录入口 OAuth2 客户端 ID |
| `ZHINIAN_ADMIN_AUTH_CLIENT_SECRET` | 管理员登录入口 OAuth2 客户端密钥 |
| `ZHINIAN_AUTH_SESSION_SECRET` | 本地登录态签名密钥 |
| `ZHINIAN_ADMIN_AUTHORITIES` | 管理员权限码白名单 |
| `ZHINIAN_ADMIN_USERS` | 管理员账号白名单,默认 `ceshiop` |