應用程式頁面會在使用者登入之後顯示錯誤訊息
在此案例中,Microsoft Entra ID 登入使用者。 但應用程式顯示錯誤訊息,而且不讓使用者完成登入流程。 問題在於應用程式不接受 Microsoft Entra ID 發出的回應。
應用程式不接受來自 Microsoft Entra ID 的回應有幾個可能原因。 如果顯示錯誤訊息或錯誤碼,請使用下列資源來診斷錯誤:
如果錯誤訊息未清楚指出回應中缺少的內容,請嘗試下列動作:
- 如果應用程式位於 Microsoft Entra 資源庫,請確認您已遵循如何在 Microsoft Entra ID 中偵錯應用程式的 SAML 型單一登入中的步驟。
- 使用 Fiddler 等工具擷取 SAML 要求、回應和權杖。
- 將 SAML 回應傳送給應用程式廠商,詢問遺漏了什麼項目。
提示
根據您開始的入口網站,本文中的步驟可能會略有不同。
SAML 回應中缺少屬性
若要在 Microsoft Entra 設定中新增要以 Microsoft Entra 回應傳送的屬性,請遵循下列步驟:
以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[所有應用程式]。
在搜尋方塊中輸入現有應用程式的名稱,然後選取您要設定單一登入的應用程式。
應用程式載入之後,請在瀏覽窗格中選取 [單一登入]。
在 [使用者屬性] 區段中,選取 [檢視及編輯所有其他使用者屬性]。 您可以在這裡變更要傳送的屬性,這些屬性會在使用者登入時用 SAML 權杖傳送給應用程式。
若要新增屬性︰
選取 [新增屬性]。 輸入 [名稱],然後從下拉式清單中選取 [值]。
選取 [儲存]。 您會在資料表中看到新屬性。
儲存設定。
下次使用者登入應用程式時,Microsoft Entra ID 就會以 SAML 回應傳送新的屬性。
應用程式無法識別使用者
登入應用程式會所以失敗是因為 SAML 回應缺少屬性,例如角色。 或是因為應用程式的 NameID (使用者識別碼) 屬性預期使用不同的格式或值。
如果您是使用 Microsoft Entra ID 自動化使用者佈建來建立、維護及移除應用程式的使用者,請確認使用者已佈建到 SaaS 應用程式。 如需詳細資訊,請參閱未將任何使用者佈建至 Microsoft Entra 資源庫應用程式。
將屬性新增至 Microsoft Entra 應用程式組態
若要變更使用者識別碼的值,請遵循下列步驟︰
- 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[所有應用程式]。
- 選取您要設定使用 SSO 的應用程式。
- 應用程式載入之後,請在瀏覽窗格中選取 [單一登入]。
- 在 [使用者屬性] 下,從 [使用者識別碼] 下拉式清單中選取使用者的唯一識別碼。
變更 NameID 格式
如果應用程式的 NameID (使用者識別碼) 屬性預期使用其他格式,請參閱編輯 nameID 區段以變更 NameID 格式。
Microsoft Entra ID 會根據應用程式在 SAML AuthRequest 中選取的值或要求的格式來選取 NameID 屬性 (使用者識別碼) 的格式。 如需詳細資訊,請參閱單一登入 SAML 通訊協定的<NameIDPolicy>一節。
應用程式應使用其他 SAML 回應簽章方法
若要變更 Microsoft Entra ID 數位簽署的 SAML 權杖部分,請遵循下列步驟:
以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[所有應用程式]。
選取您要為單一登入設定的應用程式。
應用程式載入之後,請在瀏覽窗格中選取 [單一登入]。
選取 [SAML 簽署憑證] 下的 [顯示進階憑證簽署設定]。
從下列選項中選取應用程式預期的簽章選項:
- 簽署 SAML 回應
- 簽署 SAML 回應及判斷提示
- 簽署 SAML 判斷提示
下次使用者登入應用程式時,Microsoft Entra ID 就會簽署您選取的 SAML 回應部分。
應用程式預期使用 SHA-1 簽署演算法
Microsoft Entra ID 預設使用最安全的演算法簽署 SAML 權杖。 除非應用程式要求使用 SHA-1,否則建議不要將簽署演算法變更為 SHA-1。
若要變更簽署演算法,請遵循下列步驟:
以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[所有應用程式]。
選取您要設定使用單一登入的應用程式。
應用程式載入之後,請在應用程式左側的瀏覽窗格中選取 [單一登入]。
選取 [SAML 簽署憑證] 下的 [顯示進階憑證簽署設定]。
選取 [SHA-1] 作為 [簽署演算法]。
下次使用者登入應用程式時,Microsoft Entra ID 就會使用 SHA-1 演算法簽署 SAML 權杖。