跳至主要內容

Okta

連接 Okta
(SSO、SCIM)

在 Okta Admin Console 中,以 OpenID Connect 建立 Aiyori 應用程式(SSO),再透過 SCIM 2.0,把已指派的員工與群組傳送到 Aiyori。

共用的值與疑難排解,請見連接公司的身分管理平台頁面。文中的畫面名稱,是 2026 年 10 月時 Okta Admin Console 英文版的名稱。

事前準備

  • 在 Okta Admin Console(https://(組織)-admin.okta.com)中,具有 Application Administrator 以上的角色。
  • SSO 可透過 Okta Single Sign-On 使用。SCIM 需要 Lifecycle Management。
  • Aiyori 組織的管理員能開啟講師畫面的「設定」→「連接公司的身分管理平台」。

1. 建立應用程式(OpenID Connect)

  1. Admin Console → Applications → Applications → Create App Integration。
  2. Sign-in method 選擇 OIDC - OpenID Connect,Application type 選擇 Web Application → Next。
  3. 填入下表的值,然後按 Save。
  4. 在 General 分頁中,記下 Client ID 與 Client secret。Client secret 請按該列的眼睛圖示顯示後再複製。
  5. 在 Client Credentials 中按 Edit → 勾選 Require PKCE as additional verification → Save。Client authentication 維持 Client secret(預設)即可。Aiyori 會傳送 PKCE。
  6. 若要讓人從 Okta 儀表板的圖示進入(選用),請將 Login initiated by 設為 Either Okta or App,並在 Initiate login URI 填入 https://app.aiyori.app/api/web/sso/start?code=(組織代碼)。
App integration name
Aiyori
Grant type
只勾選 Authorization Code(維持預設)
Sign-in redirect URIs
https://app.aiyori.app/api/web/sso/callback
Sign-out redirect URIs
可以留空
Assignments
Limit access to selected groups(之後再指派),或 Skip group assignment for now

2. 填入 Aiyori(SSO)

在 Aiyori 的講師畫面 →「設定」→「連接公司的身分管理平台」→「SSO」中填入,然後按「儲存」。

發行者 URL(Issuer)
https://(組織).okta.com(Okta 的組織授權伺服器,也就是把 Admin Console 網址中的 -admin 拿掉)。使用自訂網域的公司,請填入該網址。
用戶端 ID、用戶端密碼
在第 1 節記下的值
允許的電子郵件網域
公司電子郵件的網域(每行 1 個)

發行者也可以是結尾為 /oauth2/default 的自訂授權伺服器(已購買 API Access Management 的公司)。要用哪一個,請在瀏覽器中開啟發行者 URL 後加 /.well-known/openid-configuration 的網址,填入與其中 issuer 完全相同的值。

在 Assignments 分頁指派測試用的人員。若能從 Aiyori 的登入畫面 →「使用公司帳號登入」→ 組織代碼 → Okta 登入 → 回到 Aiyori,就表示已經連接。管理員也可以在「自己試著登入」中用「用我的公司帳號試一下」測試。

3. SCIM(Provisioning)

  1. 在 Aiyori 的「連接公司的身分管理平台」→「SCIM」中,於「金鑰名稱」輸入 Okta,按「建立金鑰」→ 記下出現的金鑰(只會在這個畫面顯示)。
  2. 在 Okta 開啟 Aiyori 應用程式 → General 分頁 → App Settings 的 Edit → 將 Provisioning 設為 SCIM → Save。若沒有這個選項,請改用下面第 4 節的方式,另建一個只負責 SCIM 的應用程式。
  3. Provisioning 分頁 → Integration → Edit,填入下表的值,再執行 Test Connector Configuration。Create Users、Update User Attributes、Push Groups 都打勾後,按 Save。
  4. Provisioning 分頁 → To App → Edit → 將 Create Users、Update User Attributes、Deactivate Users 設為 Enable → Save。Sync Password 保持關閉。建立新使用者時設定密碼的選項也請關閉(Aiyori 不保存密碼)。
  5. 屬性對應(Aiyori User Profile Mappings)維持預設即可。請確認 userName 是公司電子郵件地址(預設是 Okta 的使用者名稱,通常就是電子郵件地址)。
  6. 在 Assignments 分頁中,指派要使用 Aiyori 的群組。被指派的人會成為 Aiyori 的學員。
  7. Push Groups 分頁 → + Push Groups → 選擇部門等群組 → Save。這些群組會成為 Aiyori 的小組。
SCIM connector base URL
https://app.aiyori.app/api/scim/v2
Unique identifier field for users
userName
Supported provisioning actions
勾選 Push New Users、Push Profile Updates、Push Groups(不需要 Import New Users and Profile Updates)
Authentication Mode
HTTP Header。在 Authorization(Bearer)填入第 1 步記下的金鑰

4. 另建只負責 SCIM 的應用程式(第 3 節的選項沒有出現時)

OpenID Connect 應用程式的 General 分頁中,有時不會出現 Provisioning 的選項。這時,請改用 Okta 應用程式目錄中的應用程式,只連接 SCIM。

  1. Applications → Applications → Browse App Catalog → 搜尋 SCIM 2.0 Test App → SCIM 2.0 Test App (Header Auth) → Add Integration。
  2. General settings:Application label 設為 Aiyori SCIM。勾選 Do not display application icon to users(不讓學員看到圖示),取消勾選 Browser plugin auto-submit,然後按 Next。
  3. Sign-on options 維持預設即可(登入透過第 1 節的應用程式進行,不會用到)。將 Application username format 設為 Email,然後按 Done。
  4. Provisioning 分頁 → Configure API Integration → 勾選 Enable API integration → Base URL 填入 https://app.aiyori.app/api/scim/v2,API Token 直接貼上第 3 節第 1 步記下的金鑰 → Test API Credentials → Save。
  5. 其餘與第 3 節第 4~7 步相同(To App、屬性對應、指派、Push Groups)。
  6. SSO 的應用程式(Aiyori)與 SCIM 的應用程式(Aiyori SCIM),要指派相同的群組。

這個應用程式會直接傳送 API Token 的值,前面不加 Bearer。兩種形式 Aiyori 都接受。

5. 連接當天要確認的事

  • 已指派的 1 個人能用公司帳號進入。未指派的人會在 Okta 的畫面被擋下。
  • 已指派的人出現在 Aiyori 的學員中,並已加入推送過來的小組。
  • 取消該人員的指派(或在 Okta 中 Deactivate)後,在 Aiyori 會顯示為「已因公司設定停用」,無法登入。恢復後即可再次進入。

Okta 與 Aiyori 的搭配方式

  • 使用的 SCIM 操作是建立使用者、更新屬性、停用(Deactivate)與推送群組。不使用密碼同步,也不從 Aiyori 匯入 Okta(Import)。
  • 取消指派時,Okta 會傳送 active: false(不傳送 DELETE)。在 Aiyori 中,兩者都會停用該學員,受訓紀錄會保留。
  • 用 SSO 登入的人,會透過公司電子郵件地址,與 SCIM 建立的學員連結。
  • SCIM 金鑰沒有期限。要更換時,先在 Aiyori 建立新金鑰並重新填入 Okta 的 Integration,再把舊金鑰設為「停用」。