使用 Okta 设置单点登录

Table of Contents

设置完成后,客服人员即可使用其 Okta 帐户登录 Taiwa。您需要一位能够创建应用集成的 Okta 管理员,并需要在 Taiwa 中拥有管理员角色。

开始之前

  • 请联系 Taiwa 验证贵组织的电子邮件域。Taiwa 会拒绝来自未验证电子邮件域的登录。
  • 每位客服人员在 Okta 中都需要一个主电子邮件地址,且该地址须属于上述域之一。只有当 Okta 表明此电子邮件地址已验证时,Taiwa 才会让用户登录。

1. 创建应用集成

  1. 在 Okta Admin Console 中,转到 Applications > Applications,然后选择 Create App Integration。
  2. 对于 Sign-in method,选择 OIDC - OpenID Connect。对于 Application type,选择 Web Application。选择 Next。
  3. 对于 App integration name,输入 Taiwa。
  4. 在 Grant type 下,保留 Authorization Code。
  5. 对于 Sign-in redirect URIs,输入 https://api.taiwa.cx/v1/auth/sso/callback。删除所有注销重定向 URI。
  6. 在 Assignments 下,选择可以使用 Taiwa 的人员。选择 Save。

2. 复制客户端详细信息

  1. 在 General 选项卡的 Client Credentials 下,复制 Client ID。
  2. 在 Client authentication 下,保留 Client secret。复制客户端 Secret。
  3. 如果已选中 Require PKCE as additional verification,请取消选中。Taiwa 不发送 PKCE,否则 Okta 会拒绝登录。

3. 分配人员

在 Assignments 选项卡上,分配使用 Taiwa 的人员或组。Okta 会拒绝未分配人员的登录。

4. 在管理门户中连接 Okta

  1. 在管理门户中,打开 单点登录与用户预配。
  2. 对于 颁发者 URL,输入您的 Okta 域,例如 https://acme.okta.com。请使用不带 -admin 的域。
  3. 对于 客户端 ID 和 客户端密钥,输入 Okta 中的值。
  4. 选择 保存连接。

如果贵组织在 Okta 中使用自定义授权服务器,请改为输入该服务器的颁发者,例如 https://acme.okta.com/oauth2/default。

5. 测试

在浏览器的隐私窗口中登录管理门户。选择 使用 SSO 登录,输入您的 组织 ID,然后使用一个已分配的 Okta 帐户登录。

使用 SCIM 进行目录同步(可选)

Okta OIDC 应用集成无法使用 SCIM。请另外创建一个应用集成用于目录同步。

  1. 在管理门户的 目录同步(SCIM 2.0) 下,复制 SCIM 基础 URL,然后选择 生成令牌。请立即复制该令牌。
  2. 在 Okta 中,按照 Okta 的 SCIM 预配指南创建第二个应用集成,例如 Taiwa provisioning。
  3. 在其 General 选项卡的 App Settings 下,选择 Edit。对于 Provisioning,选择 SCIM,然后选择 Save。
  4. 在 Provisioning 选项卡的 Integration 下,将 SCIM 基础 URL 输入为 SCIM 连接器基础 URL。对于 Unique identifier field for users,输入 userName。
  5. 对于身份验证模式,选择 HTTP Header,然后将令牌输入为持有者令牌。
  6. 选择 Test Connector Configuration,然后保存。
  7. 开启 Create Users、Update User Attributes 和 Deactivate Users,并分配与登录应用集成中相同的人员。

登录失败时

如果登录在身份提供商之后失败,浏览器会在 api.taiwa.cx 上显示一个页面,说明失败原因。原因以英文显示。

原因 检查内容
SSO id_token email is not verified Okta 尚未验证该用户的主电子邮件。
SSO token exchange failed 客户端密钥错误,或应用集成要求使用 PKCE。
SSO discovery failed 或 SSO discovery issuer mismatch 颁发者 URL 应为您的 Okta 域(不带 -admin,且不含路径),或您的自定义授权服务器的颁发者。
Email domain is not verified for this tenant 请联系 Taiwa 验证该电子邮件域。
Okta 提示用户未分配 在 Assignments 选项卡上分配该用户。
Was this helpful?