Add authenticated login and SSO protection

This commit is contained in:
inman
2026-05-29 15:54:13 +08:00
parent e36f28a668
commit 0648874801
50 changed files with 1853 additions and 63 deletions

View File

@@ -1,6 +1,6 @@
# 智念AIGC平台开放 API 对接说明
本文面向服务端对接方。所有开放接口位于 `/api/v1`,使用 API Key 鉴权。
本文面向服务端对接方。所有开放接口位于 `/api/v1`,使用 API Key 鉴权;浏览器后台的 SSO 登录不会影响这些服务端接口
OpenAPI JSON

View File

@@ -42,6 +42,14 @@ PORT=3000
HOSTNAME=0.0.0.0
NEXT_PUBLIC_APP_URL=https://你的域名
ZHINIAN_AUTH_REQUIRED=auto
ZHINIAN_AUTH_BASE_URL=https://<gateway-domain>/auth
ZHINIAN_AUTH_CLIENT_ID=customPC
ZHINIAN_AUTH_CLIENT_SECRET=请替换为认证中心客户端密钥
ZHINIAN_AUTH_SCOPE=server
ZHINIAN_AUTH_ISSUER=https://pig4cloud.com
ZHINIAN_AUTH_SESSION_SECRET=请替换为强随机会话密钥
ZHINIAN_API_KEYS=partner-a:请替换为强随机key
ZHINIAN_INTERNAL_WORKER_TOKEN=请替换为强随机token
ZHINIAN_WEBHOOK_SECRET=请替换为webhook签名密钥
@@ -69,6 +77,14 @@ ALI_OSS_PUBLIC_BASE_URL=
如果不配置真实供应商密钥mock 配置会保留本地验收能力,但生产对接应配置真实密钥。
认证中心客户端需要允许回调地址:
```text
https://你的域名/api/auth/callback
```
如果使用登录页内的账号密码验证码方式,还需要确认 `customPC` 客户端支持 `password``refresh_token` grant。未加入 `security.ignore-clients` 时,验证码会通过 `${ZHINIAN_AUTH_BASE_URL}/code/image` 获取。
## 常用运维命令
```bash
@@ -155,7 +171,8 @@ curl https://你的域名/api/v1/openapi.json
确认:
- Web 页面可访问
- 未登录访问 Web 页面会跳转到 `/auth/login`
- 登录后 Web 页面可访问
- `/api/health` 返回 `ok: true`
- `/api/v1/capabilities` 使用 API Key 可访问
- `zhinian-worker` 日志持续输出 `claimed=...`