azure - 请求中指定的回复 URL 与回复 URL 不匹配
问题描述
在开发期间为 Web 应用程序设置与 Microsoft Azure API 的连接时,我正在处理以下错误:
AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application: 'b9c2d921-$$$$-$$$$-$$$$-$$$$$$$$$$$$'. More details: Reply address did not match because requested address had a trailing slash.
最初,我在此链接中发布了另一个错误,将平台配置从 SPA 更改为 Web 确实解决了它。
我已经在应用身份验证中设置了重定向 URL:
关于解决这个问题的任何想法?
解决方案
Cause:
应用程序正在尝试针对 AAD 进行身份验证,但无法匹配它正在寻找的 URl。您在 AAD 中注册应用时可能没有提供正确的回复 URL,或者在重定向到 AAD 登录页面以允许用户输入凭据时,您没有指定正确的 URL 作为 URL 的 redirect_uri 查询参数。
如果您在 AAD 中的应用注册和 Web 应用程序中的两个位置配置相同/匹配的 URL,并确保清除缓存,则可以解决问题。
How to check if both URIs are same:
您可以在错误屏幕的浏览器地址栏中看到登录/身份验证请求期间的回复 url/redirect uri(推荐使用 Chrome 或 Edge 浏览器)。如果是 SAML 请求,Assertion Consumer Service(ACS)-代表回复 url。
例子:
Work arounds:
请按照以下步骤检查您在 AAD 中配置的回复 URL,同时遵循提到的方式,如果您希望在列表中添加新 uri,请添加其他 URL:
- 登录到 portal.azure.com
- 导航到左侧栏中的 Azure Active Directory > 应用注册 > 您的应用 > 身份验证 > 重定向 URI。
WAY1
删除重定向 uri 末尾的斜杠。尝试登录。
(因为请求中的回复 url 以“/”结尾,但在应用程序上配置的回复 url(上面错误中的客户端 ID)可能没有斜线结尾。)
WAY2:
查看两个 URI 是否具有相同的协议 (https://),因为 AAD 会将http://website.com和 https://website.com视为两个不同的 URL。
参考:AAD 身份验证失败 - 应用程序的错误配置回复 URL | 微软文档
否则,建议您在 Azure 上重新配置 AAD 应用程序并设置一个或多个有效回复 URL。
推荐阅读
- python - 将gif编码为base64而不写入磁盘python
- wso2 - 在 API manager 中创建的租户无法登录 ID 服务器的 carbon 控制台
- javascript - Chrome 有时不显示 SVG 图像
- sql-server-2019 - xevent 跟踪在 SQL Server 2019 中不返回任何内容
- latex - 在 orgmode 的 Latex 导出中使用 \addbibresource 时表标签引用中断
- javascript - 当数组数据从祖父组件更改时,vuejs如何从孙子组件检测函数中的数据更改
- c++ - qt如何渲染mainwidget
- javascript - 将 JSX 元素渲染为多级金字塔
- iphone - Xcode 无线调试 iPhone 在公园的热点 [已解决]
- javascript - 如何在html表单中排除少数输入