應用程式登入失敗時您變更 Azure AD 中的回覆 URL

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3089309
徵狀
假設您建置多承租人 web 應用程式驗證使用者時,用於 Azure 的廣告。如果您變更應用程式的回覆 URL 時,這可能會觸發登入失敗的應用程式已經同意的使用者。同意此 URL 變更後的使用者不會受到影響。
發生的原因
當應用程式開發人員變更透過 Azure 管理入口網站的回覆 URL 時,會將 web 應用程式部署與新的端點,以符合新的回覆 URL。Web 應用程式不會再服務任何舊的回覆 URL 端點來參加的要求。

在下列案例中,就會發生這個問題:
  • Web 應用程式使用的任何 Azure AD – 支援的驗證通訊協定 (OpenID 連線,WS-同盟或 SAML 2.0)。
  • 以單一的回覆 URL 的 Azure AD 裡,均設定相關聯的應用程式物件。
  • 當服務提供者 (web 應用程式) – 提出發出的驗證要求的登入、 web 應用程式不會在要求中指定選擇性"回覆 URL"查詢字串參數。
注意這個查詢字串參數不同的每個支援的通訊協定,如下所示:

通訊協定選擇性參數
OpenID 連線redirect_uri
WS-同盟wreply
SAML 2.0AssertionConsumerServiceURL
相反地,應用程式依賴 Azure AD 藉由從應用程式物件 (如前述的項目符號清單中的第二個項目) 設定的回覆 URL 時驗證要求未指定回覆 URL。

然後,應用程式開發人員進行變更 (透過 Azure 管理入口網站) 的 web 應用程式組態變更回覆 URL。應用程式開發人員也會部署 web 應用程式在新的結束點 (如果您以符合新的回覆 URL),並不會再服務任何舊的回覆 URL 端點來參加的要求。在此情況下,所有現有客戶已經同意的 web 應用程式現在可能無法登入 web 應用程式。
解決方案
若要修正這個問題,請使用下列方法之一:

  • 明確地指定應用程式程式碼中的回覆 URL。這是建議的解決方案。應用程式開發人員應該更新明確指定回覆 URL (取決於使用,如 < 原因 > 一節所述的通訊協定) 的驗證要求的程式碼。
  • 請使用 PowerShell 覆寫回覆地址。公司系統管理員應該執行下列的 Azure AD PowerShell 指令程式,以新的回覆地址覆寫舊的回覆地址:
    1. 連接 MsolService
    2. $r = 新增 MsolServicePrincipalAddresses-地址<app’s_new_reply_address>-地址鍵入 「 回覆 」</app’s_new_reply_address>
    3. 設定 MsolServicePrincipal – AppPrincipalId <app’s_clientId>-位址 $r</app’s_clientId>

警告:本文為自動翻譯

內容

文章識別碼:3089309 - 最後檢閱時間:08/29/2015 02:23:00 - 修訂: 1.0

Microsoft Azure Active Directory

  • kbexpertiseadvanced kbtshoot kbsurveynew kbmt KB3089309 KbMtzh
意見反應