设置完成后,客服人员即可使用其 Okta 帐户登录 Taiwa。您需要一位能够创建应用集成的 Okta 管理员,并需要在 Taiwa 中拥有管理员角色。
开始之前
- 请联系 Taiwa 验证贵组织的电子邮件域。Taiwa 会拒绝来自未验证电子邮件域的登录。
- 每位客服人员在 Okta 中都需要一个主电子邮件地址,且该地址须属于上述域之一。只有当 Okta 表明此电子邮件地址已验证时,Taiwa 才会让用户登录。
1. 创建应用集成
- 在 Okta Admin Console 中,转到 Applications > Applications,然后选择 Create App Integration。
- 对于 Sign-in method,选择 OIDC - OpenID Connect。对于 Application type,选择 Web Application。选择 Next。
- 对于 App integration name,输入
Taiwa。 - 在 Grant type 下,保留 Authorization Code。
- 对于 Sign-in redirect URIs,输入
https://api.taiwa.cx/v1/auth/sso/callback。删除所有注销重定向 URI。 - 在 Assignments 下,选择可以使用 Taiwa 的人员。选择 Save。
2. 复制客户端详细信息
- 在 General 选项卡的 Client Credentials 下,复制 Client ID。
- 在 Client authentication 下,保留 Client secret。复制客户端 Secret。
- 如果已选中 Require PKCE as additional verification,请取消选中。Taiwa 不发送 PKCE,否则 Okta 会拒绝登录。
3. 分配人员
在 Assignments 选项卡上,分配使用 Taiwa 的人员或组。Okta 会拒绝未分配人员的登录。
4. 在管理门户中连接 Okta
- 在管理门户中,打开 单点登录与用户预配。
- 对于 颁发者 URL,输入您的 Okta 域,例如
https://acme.okta.com。请使用不带-admin的域。 - 对于 客户端 ID 和 客户端密钥,输入 Okta 中的值。
- 选择 保存连接。
如果贵组织在 Okta 中使用自定义授权服务器,请改为输入该服务器的颁发者,例如 https://acme.okta.com/oauth2/default。
5. 测试
在浏览器的隐私窗口中登录管理门户。选择 使用 SSO 登录,输入您的 组织 ID,然后使用一个已分配的 Okta 帐户登录。
使用 SCIM 进行目录同步(可选)
Okta OIDC 应用集成无法使用 SCIM。请另外创建一个应用集成用于目录同步。
- 在管理门户的 目录同步(SCIM 2.0) 下,复制 SCIM 基础 URL,然后选择 生成令牌。请立即复制该令牌。
- 在 Okta 中,按照 Okta 的 SCIM 预配指南创建第二个应用集成,例如
Taiwa provisioning。 - 在其 General 选项卡的 App Settings 下,选择 Edit。对于 Provisioning,选择 SCIM,然后选择 Save。
- 在 Provisioning 选项卡的 Integration 下,将 SCIM 基础 URL 输入为 SCIM 连接器基础 URL。对于 Unique identifier field for users,输入
userName。 - 对于身份验证模式,选择 HTTP Header,然后将令牌输入为持有者令牌。
- 选择 Test Connector Configuration,然后保存。
- 开启 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 选项卡上分配该用户。 |