Skip to content

创建单页面应用的“身份应用”

您可以使用“SiX统一认证与授权”为您的“单页面应用程序 (SPA)”创建“身份提供商 (IdP)”。

提示

通过“SiX统一认证与授权”控制台API 创建的 IdP 应该与一个或多个“OAuth2客户端”关联。

如果您将多个“OAuth2客户端”关联到同一个IdP并将这些客户端设置给不同的SPA,则该IdP的用户将获得这些SPA的单点登录能力(SSO)。

“IdP/OAuth2客户端”支持开箱即用的“OIDC/OAuth2”协议。

交互流程

以下是一个或多个 SPA 利用“SiX统一认证与授权”为 SPA 用户实现 SSO 的典型流程。

有关 OIDC 协议和 authorization_code 授权流程,请参阅:OpenID Connect Basic Client 实施指南

图片

为SPA创建IdP的步骤

1. 创建身份应用程序

登录“SiX统一认证与授权”控制台

导航到菜单:“认证管理->创建身份应用”为SPA创建身份应用程序。

2. 创建一个公共OAuth2客户端并将其与身份应用程序关联

登录“SiX统一认证与授权”控制台

导航到菜单:“授权管理->创建授权客户端”以创建OAuth2客户端并将此客户端绑定到上一步中创建的“身份应用程序”。

提示

请注意,对于 SPA,应使用一个公共OAuth2客户端。

3. 将一个OAuth2客户端模块安装到您的 SPA 中。

根据您 SPA 使用的框架(如 Vue、React、Angular),安装标准的社区 OAuth2/OIDC 客户端库,例如 oidc-client-tsauth0-spa-js

通过配置以下来自 “SiX统一认证与授权” IdP 的元数据来设置您的 SPA:

  • 客户端 ID (Client ID):在步骤 2 中创建的公共客户端的唯一标识符。
  • 授权端点 (Authorize Endpoint):SPA 将用户重定向以进行身份验证的 URL。
  • 令牌端点 (Token Endpoint):SPA 用于将授权码交换为令牌的 URL。
  • 重定向 URI (Redirect URI):在您的 OAuth 客户端配置中注册的回调 URL。

完成配置后,由 SPA 发起授权码模式 (Authorization Code Flow)(为了增强安全性,建议配合 PKCE 使用)。登录成功后,IdP 将重定向回您的应用程序,并提供获取身份令牌(ID Token)和访问令牌(Access Token)所需的凭据。

提示

请参阅下面的 IdP 示例屏幕截图和一个基于 VUE 的 SPA 的示例代码。

高级功能

客户品牌 IdP

创建的 IdP 可以配置为匹配客户品牌风格,例如使用公司徽标、字体、颜色等。

支持多个身份验证源

除了“SiX统一认证与授权”平台租户提供的UI和认证流程之外,您还可以将身份验证委托给其他来源,例如其他 OIDC 身份提供商或 SAML2 身份提供商。平台将负责此身份验证委托。

更多信息请参阅:

与 OKTA 联合

与 OIDC IdP 联合

与 SAML2 IdP 联合

与自定义 IdP 联合

IdP 共享到子组织

您可以将您的身份应用程序共享给其子组织,然后子组织可以直接使用此身份应用程序。

一个典型的例子是:您可以在企业级创建一个 IdP,并将其共享给所有部门,您企业中的所有员工都可以使用同一个 IdP。

示例

SPA IdP示例1截图

图片

SPA IdP示例2截图

图片

SPA IdP 示例代码仓库

six-iot-sample-webapp

提示

如果您无法访问仓库,请通过联系我们 上的联系信息与我们联系

领先的解决方案提供商