我正在从我的 web 应用程序进行 Azure AD 交互式登录。当用户登录我的网站时,他会被重定向到 Azure 登录页面,经过身份验证并返回到我的网站。此过程涉及对 login.windows.net 的请求,该请求将我的浏览器重定向到 login.microsoftonline.com(进行身份验证)。 但是,我遇到了一个 cors 问题,该问题指出重定向到 login.microsoftonline.com 已被阻止,因为请求源中没有“访问控制允许来源” header 。我知道当请求的资源位于我的 web 应用程序中时可以添加此 header ,但在本例中不是。我的问题是,如果 login.microsoftonline.com 不返回导致此问题的 header ,我该如何从我的网络应用程序处理此问题?以下是我的浏览器控制台上的错误。
XMLHttpRequest cannot load https://login.windows.net//oauth2/authorize?…......-4129-adea- ccdcbdeaa80e&nonce=c962fb8a-3c8c-4dec-9fbc-4f2fb8fcfde1. Redirect from 'https://login.windows.net//oauth2/authorize?…......-4129-adea-ccdcbdeaa80e&nonce=c962fb8a-3c8c-4dec-9fbc-4f2fb8fcfde1' to 'https://login.microsoftonline.com//oauth2/au….......-4129-adea-ccdcbdeaa80e&nonce=c962fb8a-3c8c-4dec-9fbc-4f2fb8fcfde1' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://my_host' is therefore not allowed access.
最佳答案
我能够通过将重定向 url 传递到表单操作并使用 Javascript 触发提交来绕过此问题,而不是直接重定向到该 url。当请求来自表单提交时,不会执行 CORS 检查。
关于azure - 重定向已被 CORS 策略阻止 : No 'Access-Control-Allow-Origin' header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41853199/