在此案例中,Microsoft Entra ID 登入使用者。 但應用程式會顯示錯誤訊息,且不會讓使用者完成登入流程。 問題是應用程式不接受發出Microsoft Entra ID 的回應。
應用程式未接受來自Microsoft Entra ID的回應有數個可能的原因。 如果顯示錯誤訊息或程式代碼,請使用下列資源來診斷錯誤:
- Microsoft Entra 驗證和授權錯誤碼
- 同意提示錯誤疑難排解
如果錯誤訊息無法清楚識別回應中遺漏的內容,請嘗試下列步驟:
- 如果應用程式位於 Microsoft Entra 資源庫中,請確認您已遵循 如何進行偵錯 SAML 型單一登錄至 Microsoft Entra ID 中的應用程式中提到的步驟。
- 使用 Fiddler 之類的工具來擷取 SAML 要求、回應和令牌。
- 將 SAML 回應傳送給應用程式廠商,並詢問他們遺失的內容。
SAML 回應中遺漏屬性
若要在Microsoft Entra 回應中傳送的 Microsoft Entra 組態中新增屬性,請遵循下列步驟:
以至少雲端應用程式管理員身分登入 Microsoft Entra 系統管理中心。
流覽至 Entra ID>企業應用程式>所有應用程式。
在搜尋方塊中輸入現有應用程式的名稱,然後選取您要設定單一登錄的應用程式。
應用程式載入之後,請在瀏覽窗格中選取 [單一登錄 ]。
在 [ 用戶屬性] 區段中,選取 [ 檢視及編輯所有其他使用者屬性]。 在這裡,您可以設定當使用者登入時,在 SAML 權杖中要傳送至應用程式的屬性。
若要新增屬性:
選取 [新增屬性]。 輸入 [名稱],然後從下拉式清單中選取 [ 值 ]。
選取 [ 儲存]。 您會在資料表中看到新的屬性。
儲存組態。
下次使用者登入應用程式時,Microsoft Entra ID 會在 SAML 回應中傳送新的屬性。
應用程式無法識別使用者
登入應用程式失敗,因為 SAML 回應遺漏角色之類的屬性。 或者它失敗,因為應用程式預期 NameID (使用者識別子) 屬性的格式或值不同。
如果您使用 Microsoft Entra ID 自動化使用者布建 來建立、維護和移除應用程式中的使用者,請確認使用者已布建到 SaaS 應用程式。 如需更多資訊,請參閱 沒有為 Microsoft Entra Gallery 應用程式配置任何使用者。
將屬性新增至 Microsoft Entra 應用程式組態
若要變更使用者識別碼值,請遵循下列步驟:
- 以至少雲端應用程式管理員身分登入 Microsoft Entra 系統管理中心。
- 流覽至 Entra ID>企業應用程式>所有應用程式。
- 選取您要為 SSO 設定的應用程式。
- 應用程式載入之後,請在瀏覽窗格中選取 [單一登錄 ]。
- 在 [用戶屬性] 下,從 [ 用戶標識符 ] 下拉式清單中選取使用者的唯一標識符。
變更 NameID 格式
如果應用程式需要 NameID (使用者識別子) 屬性的另一種格式,請參閱 編輯 nameID 區段以變更 NameID 格式。
Microsoft Entra ID 會根據選取的值或 SAML AuthRequest 中應用程式所要求的格式,選取 NameID 屬性 (使用者識別符) 的格式。 如需詳細資訊,請參閱 單一登錄 SAML 通訊協定的 “NameIDPolicy” 一節。
應用程式需要 SAML 回應的不同簽章方法
若要變更 SAML 令牌的哪些部分是由 Microsoft Entra ID 數字簽署,請遵循下列步驟:
以至少雲端應用程式管理員身分登入 Microsoft Entra 系統管理中心。
流覽至 Entra ID>企業應用程式>所有應用程式。
選取您要為單一登入設定的應用程式。
應用程式載入之後,請在瀏覽窗格中選取 [單一登錄 ]。
在 [SAML 簽署憑證] 底下,選取 [顯示進階憑證簽署設定]。
從下列選項中選取應用程式預期的 [簽署選項 ]:
- 簽署 SAML 回應
- 簽署 SAML 回應和斷言
- 簽署 SAML 聲明
下次使用者登入應用程式時,Microsoft Entra ID 將會簽署您選取之 SAML 回應的一部分。
應用程式需要 SHA-1 簽署演算法
根據預設,Microsoft Entra ID 會使用最安全的演算法簽署 SAML 令牌。 除非應用程式需要SHA-1,否則建議您不要將簽署演算法變更為 SHA-1 。
若要變更簽署演算法,請遵循下列步驟:
以至少雲端應用程式管理員身分登入 Microsoft Entra 系統管理中心。
流覽至 Entra ID>企業應用程式>所有應用程式。
選取您要為單一登入設定的應用程式。
應用程式載入之後,從應用程式左側的瀏覽窗格中選取 [單一登錄 ]。
在 [SAML 簽署憑證] 底下,選取 [顯示進階憑證簽署設定]。
選取 [SHA-1 ] 作為 [簽署演算法]。
下次使用者登入應用程式時,Microsoft Entra ID 會使用 SHA-1 演算法簽署 SAML 令牌。