問題
最近一個系統整合 Azure AD 登入,不定時會出現 AADSTS50011: The redirect URI 的錯誤
抱歉,我們無法將您登入。
AADSTS50011: The redirect URI ‘https://…/licensemanagement/signin-azuread-oidc’ specified in the request does not match the redirect URIs configured for the application ‘5000xxxx-xxxx-xxxx-b9cf-1dxxxx1dxxxx’. Make sure the redirect URI sent in the request matches one added to your application in the Azure portal. Navigate to https://aka.ms/redirectUriMismatchError to learn more about how to fix this. More details: Reply address did not match because of case sensitivity.
解決
看錯誤訊息中所顯示的 URI 跟 Azure AD 的 App registrations 中該 AP 的 Authentication 功能中,
Redirect URIs 裡面設定的是一樣的!
因為同事 HiHi 測試會錯誤,而我測試則正確,結果同事將它的 URL 傳給我,
並詢問我該 URL 是否正確。
我點下該 URL 登入,居然也出現 AADSTS50011 的錯誤。
而我另開 Browser 自行輸入 URL 登入,居然又沒問題了。
於是我將 2 個 URL 比較了一下,終於發現問題。
1 | https://.../licensemanagement |
不知眼尖的朋友有沒有發現問題所在?
沒錯,就是大小寫的問題。
因為我在 Azure AD 中設定的是 Licensemanagement
,
而錯誤的 URL 卻是 licensemanagement
。
後來將全小寫的 URL 也新增到 Azure AD 該 App 的 Redirect URIs 之中就沒問題了。
- 註: 感謝同事 HiHi Paul 一起幫忙找出問題 ^_^
參考資源
Error AADSTS50011 - The reply URL ‘reply URL sent’ specified in the request does not match the reply URLs configured for the application ‘appId’
如何对MVC / Razor页面应用程序使用Azure Active Directory身份验证
Can I turn off case sensitivity for Azure AD RedirectURI