首页 > 解决方案 > 如何修复 - 重新登录时,CORS 策略已阻止访问“https://login.windows.net......”获取

问题描述

我的 React / ASP.net 核心 Web API 应用程序和 Azure AD 身份验证出现问题。

第一次登录,一切正常。然后,如果我退出,我会看到 Microsoft 托管的“您已退出。返回网站”页面,其中包含返回网站的链接。如果我然后单击该链接,则应用程序在尝试进行身份验证时会挂起,并且我的 Chrome 浏览器控制台中出现 CORS 错误:

访问“ https://login.windows.net/XXXXX/oauth2/authorize?response_type=id_token&redirect_uri= (etc)”获取(重定向自“ https://uat.xxxxx.com/coreservice/api/foo?page =1&pageSize=25 ') 来自原点 ' https://uat.xxxxx.com ' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有 'Access-Control-Allow-Origin' 标头出现在请求的资源上。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

额外信息:

任何帮助将不胜感激!

标签: azureasp.net-coreazure-active-directory

解决方案


不确定您是否使用 Azure Web 应用程序来托管您的应用程序,但我遇到的问题是我在 Azure 门户的身份验证/授权下使用了应用服务身份验证设置。此设置指向 Azure AD 实例。但是我也使用了包裹在我的应用程序周围的React-ADAL npm 包,因此这会导致冲突的问题,因为它们都使用相同的 Azure AD 实例。

我关闭了 Azure 门户中的应用服务身份验证设置,一切都从那里开始工作。

此设置确实有效,因为我已将其与其他应用程序和简单的 Web 应用程序一起使用,但我意识到 Azure App Auth 设置与 React-ADAL npm 包冲突。

希望这可以帮助。


推荐阅读