SovereignID
文档目录 接入 New API

New API OpenID Connect

接入 New API

OIDC 登录

通过 OIDC 自动发现,将 New API 纳入统一登录。

New API 通过系统设置中的 OIDC 配置接入 SovereignID。配置时统一使用当前环境的 SovereignID 外部访问地址作为 OIDC issuer,不要写死某个部署域名。

一、准备 OIDC 应用

使用管理员账号登录 SovereignID 后,进入账号页,再打开 /accounts/applications/ 的“应用管理 / OIDC 应用”,为 New API 新建一个应用。

配置项 建议值 说明
应用名称 New API 便于管理员识别来源系统。
客户端类型 Confidential New API 后端会保存客户端密钥。
授权方式 Authorization Code New API 的 OIDC 登录流程使用授权码模式。
回调地址 <NEW_API_URL>/oauth/oidc New API 的“配置 OIDC”区域会提示当前实例的主页链接和重定向 URL,以该提示为准。
授权范围 openid profile email 用于登录、用户名和邮箱同步。
示例:
SovereignID issuer: https://id.example.com
New API 地址: https://api.example.com
回调地址: https://api.example.com/oauth/oidc

保存应用后,复制 SovereignID 生成的 客户端 ID客户端密钥, 用于填写 New API 的 OIDC 配置。客户端密钥只在创建成功或重置密钥后的页面显示一次; 离开或刷新页面后无法再次查看,只能重新生成。

二、在 New API 配置 OIDC

  1. 使用 New API 管理员账号登录。
  2. 进入“系统设置”,打开“系统设置”标签页。
  3. 找到“配置 OIDC”区域,按下表填写字段。
  4. 确认无误后点击“保存 OIDC 设置”。
New API 字段 填写内容 注意事项
Well-Known URL <SOVEREIGNID_ISSUER_URL>/.well-known/openid-configuration 例如 https://id.example.com/.well-known/openid-configuration。填写后 New API 会自动获取 OIDC 配置,下方各 Endpoint 可不填。
Client ID SovereignID 应用详情页生成的 client_id 从 New API 对应的 OIDC 应用复制,不要和其他系统共用。
Client Secret SovereignID 应用详情页生成的 client_secret 只在 New API 服务器侧保存,不会回显到前端,不要写入公开文档或代码仓库。
Authorization Endpoint <SOVEREIGNID_ISSUER_URL>/oauth/authorize 仅在未使用 Well-Known URL 自动发现时手动填写。
Token Endpoint <SOVEREIGNID_ISSUER_URL>/oauth/token 同上。
User Info Endpoint <SOVEREIGNID_ISSUER_URL>/oauth/userinfo 同上。

三、开启 OIDC 登录

在“系统设置”标签页的“配置登录注册”区域,勾选“允许通过 OIDC 进行登录”并保存。 保存后 New API 登录页会出现 OIDC 登录入口。

四、验收检查

  • New API 能保存 OIDC 设置,没有 discovery 或证书错误。
  • New API 登录页出现 OIDC 登录入口。
  • 点击登录后跳转到 SovereignID 登录页。
  • 已验证邮箱的用户登录后能回到 New API,并自动创建或绑定账号。

五、常见排错

保存 OIDC 设置时报 discovery 失败

检查 New API 服务器是否能访问 <SOVEREIGNID_ISSUER_URL>/.well-known/openid-configuration,并确认反向代理 HTTPS 证书可信。

登录后提示 redirect_uri 不匹配

确认 SovereignID 应用登记的回调地址与 New API“配置 OIDC”区域提示的重定向 URL 完全一致,包括协议、域名和 /oauth/oidc 路径。

未验证邮箱无法进入 New API

这是预期行为。手机号账号会看到“绑定邮箱并继续”入口;完成绑定验证后会安全返回原授权地址。