使用 OIDC 配置 SSO
本指南介绍如何使用 OpenID Connect(OIDC)协议为 API7 控制台配置单点登录(SSO)。OIDC SSO 允许用户使用现有企业凭证进行认证,无需单独维护控制台账户。
工作原理
- 用户在控制台登录页选择 OIDC 登录选项。
- 浏览器会重定向到 IdP 授权端点。
- 认证完成后,IdP 会携带授权码重定向回控制台。
- 控制台使用授权码换取 Token,获取用户信息,并创建或更新用户账户。
- 如果配置了角色和权限边界映射,这些映射会在每次登录时应用。
前置条件
开始前,请确保你已具备:
- 正在运行且可访问控制台的 API7 网关部署。
- 符合 OIDC 标准的身份提供商,例如 Keycloak、Microsoft Entra ID、Auth0 或 Okta。
- 来自 IdP 的以下信息:
- Issuer URL:OIDC 发现端点,不包含
/.well-known/openid-configuration。 - Client ID:在 IdP 中注册的应用标识符。
- Client Secret:应用密钥。
- Issuer URL:OIDC 发现端点,不包含
第 1 步:在 IdP 中注册 API7 控制台
在你的身份提供商中将 API7 控制台注册为 OIDC 客户端应用程序:
-
创建一个新的应用程序,授权类型选择 Authorization Code(也称为 "standard flow" 或 "confidential client")。
-
将重定向 URI 设置为:
https://<DASHBOARD_URL>/api/oidc/<LOGIN_OPTION_ID>/callback。备注LOGIN_OPTION_ID会在 API7 中创建登录选项后生成(第 2 步)。完成第 2 步后,你可能需要回到 IdP 更新重定向 URI。 -
记录 Client ID、Client Secret 和 Issuer URL,供下一步使用。
关于特定 IdP 的详细说明,请参阅下方提供商专用配置部分。
第 2 步:创建 OIDC 登录选项
- 在 API7 控制台中,进入 Organization > Settings。
- 点击 Add Login Option。