我遇到了与我的Reactjs应用程序有关的问题,该应用程序通过Microsoft身份验证将Web API 2部署到Azure,其中我的初始GET
请求抛出一个错误,指出:Fetch API无法加载https://login.live.com/oauth20_authorize.srf?client_id = ...
Fetch API cannot load https://login.live.com/oauth20_authorize.srf?
client_id=[...]&redirect_uri=[MY_REDIRECT_URL].
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin '[MY_AZURE_SITE]' is therefore not allowed access. If an opaque response serves
your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
我真正的新Azure和使用反应,以便我不确定我哪里错在这里。关于这个问题的奇怪的部分是,如果我为我的应用程序打开Microsoft身份验证,它将按预期工作。
我一直在这个问题上停留了一段时间,而且我不确定我的错在哪里。我也不确定哪些信息有助于解决此问题,因此请随时发表评论,询问代码/信息,我将更新我的问题。
我不明白的部分是,我的React网页与我的web api托管在同一个地方,并且没有Microsoft身份验证就可以很好地工作。一旦启用微软身份验证,它会打破我的请求。我可能是错的,但我不认为我必须让CORS能够让我的认证工作。 – scapegoat17
它可能在相同的地方托管,但您提出请求的网址与您的网址具有不同的来源。您正在从“https:// www.yourweburl.com”向“https:// login.live.com”发出请求。检查CORS必需的标题并将它们作为参数添加到您的获取请求中。 – bennygenel
不过,我不太确定这些标题可能是什么。有任何想法吗? – scapegoat17