Aiyori 的企业培训组织,可以与公司的身份管理平台连接。学员用公司账号登录(SSO,采用 OpenID Connect),入职、调动和离职会自动同步(SCIM 2.0)。
本页和各身份管理平台的步骤,面向公司的 IT 负责人,以及 Aiyori 组织的管理员(创建组织的人)。开始之前,可以先确认连接的方法。
各身份管理平台的步骤
- Okta:SSO(OpenID Connect)和 SCIM。
- Microsoft Entra ID:SSO(OpenID Connect)和 SCIM。SCIM 需要 Entra ID P1 或更高版本。
- Google Workspace:SSO(OpenID Connect)。无法使用 SCIM,改用自动登记和名单的批量登记。
其他支持 OpenID Connect 的身份管理平台,也可以用本页的值连接。
先要决定的事
- 让谁加入。只有在身份管理平台中分配给 Aiyori 应用的人员和组才能加入(不是全员)。使用 SCIM 时,分配的部门、入职年份等组,会直接成为 Aiyori 的小组。
- 登录方式。只允许公司账号,还是也允许用密码登录。大公司建议只允许公司账号(已离职的人就无法再用密码登录)。
- 名单的导入方式。用 SCIM 自动导入(Okta、Microsoft Entra ID),在首次用公司账号登录时自动登记,或每月用表格(CSV)批量登记,三者选一。Google Workspace 没有 SCIM,所以使用后两种。
填入身份管理平台的 Aiyori 的值
重定向 URI 和 SCIM 基础 URL,也显示在讲师画面的“设置”→“连接公司的身份管理平台”中(带复制按钮)。只有组织的管理员(创建组织的人)才能更改设置。
- 重定向 URI
- https://app.aiyori.app/
api/ web/ sso/ callback
在身份管理平台的 Aiyori 应用中注册。哪怕只差 1 个字符,也无法登录。 - SCIM 基础 URL
- https://app.aiyori.app/
api/ scim/ v2
在 Okta 中填入 SCIM connector base URL,在 Entra ID 中填入 Tenant URL。 - SCIM 密钥
- 在“连接公司的身份管理平台”中用“创建密钥”创建。只在创建时显示 1 次(每个组织最多 5 个)。在 Okta 中作为 Bearer 令牌填入,在 Entra ID 中填入 Secret Token。
- 登录入口(用于公司门户的磁贴)
- https://app.aiyori.app/
api/ web/ sso/ start?code=(组织代码)
在 Okta 中填入 Initiate login URI,在 Entra ID 中填入 Home page URL。这样,从公司门户的磁贴就能直接进入公司的登录,不用输入组织代码。
填入 Aiyori 的值
在“连接公司的身份管理平台”的“SSO”中填入,然后按“保存”。
- 颁发者 URL(Issuer)
- 因身份管理平台而异。Okta 为 https://(组织).okta.com,Microsoft Entra ID 为 https://login.microsoftonline.com/
(租户 ID)/v2.0,Google Workspace 为 https://accounts.google.com。 - 客户端 ID
- 身份管理平台中应用的 ID。
- 客户端密钥
- 身份管理平台中应用的密钥。加密保存,保存后不再在画面上显示。
- 允许的邮箱域名
- 公司邮箱的域名(如 example.com),每行 1 个。请务必填写。不填写的话,凡是身份管理平台放行的人都能加入(Google Workspace 不填写则无法保存)。
- 自动登记
- 不使用 SCIM 时(如 Google Workspace),开启“尚未登记的人员登录时,将其登记为学员”。只登记域名匹配的人。
- 停用密码登录,仅允许使用公司账号
- 先由 1 个人确认能用公司账号登录,再开启。
保存时,Aiyori 会读取颁发者的配置信息(颁发者 URL 后加 /.well-known/openid-configuration)。无法读取时,不能保存。颁发者只能是以 https 开头的公开 URL(不能使用内部名称或 IP 地址)。
保存后,可以在“自己试着登录”中用“用我的公司账号试一下”,以管理员的公司账号登录,确认能否回到 Aiyori(不会登记为学员)。
学员如何登录
- 在培训链接的登录画面按“使用公司账号登录”,输入组织代码 → 公司的登录画面 → 回到 Aiyori。
- 在公司门户(Microsoft 的 My Apps、Okta 的仪表板)中放置磁贴时,使用上面的登录入口 URL。不用输入组织代码就能进入。
- 按以下顺序查找对应的人:之前已用公司账号关联的人 → 公司邮箱地址相同的学员(Entra ID 还包括 SCIM 的 userName 与 UPN 相同的学员)。两者都没有时,只有在开启自动登记的情况下,才会登记域名匹配的人。
- 无法登录时,画面上会显示原因(域名不符、尚未登记、因公司设置停用、已终止使用)。
SCIM 带来的变化
| 在身份管理平台中的操作 | 在 Aiyori 中的结果 |
|---|---|
| 把人员分配给应用 | 创建学员。ID 为公司邮箱地址中 @ 前面的部分(重复时加 -2)。姓名使用显示名称,没有时由姓和名组成。 |
| 更改了姓名或邮箱地址 | 学员的姓名和公司邮箱地址随之更改。 |
| 分配了组、添加或移除了成员 | 创建 Aiyori 的小组,成员随之加入或退出。 |
| 取消分配、禁用或已离职 | 无法再登录(停用)。培训记录会保留。不计入使用费的人数,并在所有设备上退出登录。 |
| 恢复了 | 可以再次登录。 |
| 取消了组的分配 | 小组会被归档(培训记录会保留)。 |
SCIM 不使用部门(department)和员工编号(employeeNumber)属性(用组来区分)。如果想按员工编号识别同一个人,请使用表格(CSV)批量登记。
是否让学员终止使用(30 天后记录会被删除),不由身份管理平台决定,而由讲师在学员页面中决定。
密钥泄露时,在 Aiyori 的画面上把该密钥设为“停用”,再创建新密钥,重新填入身份管理平台。停止的只是同步,学员的登录不受影响。
遇到问题时
| 现象 | 要检查的地方 |
|---|---|
| 在 Aiyori 中无法保存 SSO 设置 | 画面上会显示原因:颁发者 URL 输入有误(Entra ID 末尾的 /v2.0 或租户 ID),Entra ID 使用了 common 或 organizations(不能使用),Google Workspace 的允许域名为空(请填写)。另请在浏览器中确认,颁发者 URL 后加 /.well-known/openid-configuration 能否打开。 |
| 公司登录之后,显示无法验证 | 客户端 ID 或客户端密钥抄错,客户端密钥已过期(Entra ID 最长 2 年),或重定向 URI 有哪怕 1 个字符不同。 |
| 显示未能获取邮箱地址 | 身份管理平台中的该用户没有邮箱地址。Entra ID 请在 Token configuration 中添加 email。 |
| 显示此域名无法加入 | 请检查 Aiyori 的允许域名中是否有公司的域名。子域名请另起一行。Google Workspace 还需要 Workspace 的主域名。Entra ID 的令牌中没有 email 时,会用 UPN 的域名来检查。 |
| 显示尚未登记 | 请检查 SCIM 的分配是否已完成,或者开启自动登记。 |
| SCIM 连接测试返回 401 | 密钥抄错,或是已停用的密钥。密钥前面加不加 Bearer 都可以。 |
| SCIM 连接测试返回 403(HTML 的 403 Forbidden) | 被 Aiyori 前置的防护(WAF)拦截了。请通过咨询页面告诉我们。 |
| SCIM 没有增加人员 | 请检查是否已分配给应用(Entra ID 默认只同步已分配的用户和组)。Entra ID 约每 40 分钟同步一次,着急时请按需单独发送。 |
