跳到內容
繁體中文

OIDC 單一登入

讓使用者用組織既有的單一登入進來。一套 OIDC 整合涵蓋 Azure AD、Okta、Google 等符合規範的提供者,多個提供者可以並存。登入頁為每個啟用的提供者顯示一顆按鈕, 不自動跳轉,本地表單一直都在。

OIDC 提供者設定頁

  • .env 的 PUBLIC_BASE_URL,回呼位址由它組成。沒有這個值的提供者會標為設定不完整,也不會出現在登入頁。
  • 在身分提供者那側註冊一個應用,取得 Issuer、Client ID 與 Client Secret。
  • 保留至少一個以本地密碼登入的管理員帳號。主金鑰解封只接受本地管理員憑證。

目錄與單一登入已收在 外部群組映射。群組宣告在來源詳情設定;角色與使用者群組規則在「外部群組映射」頁維護。舊的「OIDC 提供者」位址仍可打開;在「身分來源」按「新增提供者」:

  1. 顯示名稱:出現在登入頁按鈕上的名字,例如 Azure AD。
  2. Issuer:須為 https。建立後不可更改。
  3. Client ID:建立後不可更改。同一組 Issuer 與 Client ID 只能有一筆設定。
  4. Client Secret:以信封加密存放,更新時留空表示沿用既有值。
  5. 附加 scope:openid 固定帶入,另可加 profile 與 email。

Issuer 使用 login.microsoftonline.com 時,設定頁會指出租戶識別、用戶端資料、群組宣告名稱與群組值在 Entra 介面的取得位置。群組宣告由 Token configuration 設定,不必在授權範圍加 groups;若加上,設定頁會提示登入將被拒。Entra 權杖不提供准入規則所需的已驗證 Email 或 Email 網域宣告時,該類規則不會通過。

  • 僅限已預先綁定的帳號:只有事先綁過外部身分的帳號能登入。
  • 依規則自動供應:符合規則的人第一次登入時自動建立帳號。

自動供應的規則可以組合租戶識別、組織網域、Email 網域,以及要求 Email 已驗證。 不同種類的規則之間是「而且」,同一種類的多個值之間是「或」。 共用的 Issuer 上只憑 Email 網域的規則會被拒絕,因為那不足以界定組織。 另有一個開關可以把提供者強制視為多組織共用,這個開關只能把條件收得更嚴。

在 .env 用 OIDC_DEDICATED_ISSUERS 宣告哪些 Issuer 屬於自己組織專屬。

啟用開關即時生效。停用時介面會提醒:以這個提供者登入取得的既有工作階段與連線會立即失效。 已經有身分關聯的提供者不能直接刪除,改用停用。

  • 成功登入留一筆紀錄,含提供者識別與名稱、認證方式,以及登入落在哪一個階段 (待驗雙因素、待綁定、待改密、或已取得正式工作階段)。
  • 自動供應的第一次登入另留一筆帳號建立紀錄。
  • 憑證交換失敗記為失敗;准入規則不通過記為拒絕,並帶出沒有通過的規則。
  • 來源位址不在帳號允許清單內的登入記為拒絕,含判定依據。
  • 認證方式與提供者一併附註,所以單一登入在既有的稽核畫面裡和本地登入分得開。