gpt4 book ai didi

angularjs - Web Api 2 Preflight CORS 请求承载 token

转载 作者:行者123 更新时间:2023-12-03 13:29:58 29 4
gpt4 key购买 nike

我有一个带有 AngularJS 前端和 Web Api 2 后端的网络应用程序,它使用不记名 token 进行身份验证。

在 FireFox 和 IE 中一切都很好,但在 Chrome 中,我的初始登录请求有时是预先进行的。

这是来自 AngularJS 服务的调用:

$http.post( http://localhost:55483/token , data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).success(function (response) { ... });

预检请求因“Allow-Access-Control-Origin”错误而被退回。

但是,如果我再次单击登录按钮(从而重新发送上述请求),一切都很好。

关于如何防止/陷阱/处理这个的任何想法?

PS:我用的是LOC

context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });

ApplicationOAuthProvider.cs文件以将 CORS 允许 header 放在/Token 请求上,这在 IE、FireFox 和有时在 Chrome 中运行良好。

最佳答案

以下是花式评论:

Figured this out with help from post by LeftyX on Jun 29:
- Move this LOC app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); to the FIRST LINE in the ConfigureAuth method of Startup.Auth.cs.
- Then, REMOVE this LOC context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin",
new[] { "*" });
from the GrantResourceOwnerCredentials() method of ApplicationOAuthProvide.cs.

Preflight CORS-request them gets handled properly, and then the actual requet goes through



谢谢你,你救了我一整天。
因为它发生在很多人身上,我把你的评论带到答案框,让其他人可以看到。

我不想为此投票。请评论我的答案而不是

谢谢

关于angularjs - Web Api 2 Preflight CORS 请求承载 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26980271/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com