为了账号安全,请及时绑定邮箱和手机立即绑定

如何在WebAPI 2中进行CORS身份验证?

如何在WebAPI 2中进行CORS身份验证?

元芳怎么了 2019-09-20 16:55:05
场景很简单,我需要从另一台服务器(不同于API服务器)登录才能检索访问令牌。我Microsoft.Owin.Cors在API服务器上安装了包。在Startup.Auth.cs文件中,public void ConfigureAuth(IAppBuilder app)我加入了app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);在WebApiConfig.cs下面public static void Register(HttpConfiguration config),我添加了以下几行:// Corsvar cors = new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS");config.EnableCors(cors);我还应该改变什么?
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

看看我发现了什么!


在里面添加一些自定义标题<system.webServer>。


<httpProtocol>

  <customHeaders>

    <add name="Access-Control-Allow-Origin" value="*" />

    <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />

  </customHeaders>

</httpProtocol>

然后我可以进行CORS身份验证。


查看完整回答
反对 回复 2019-09-20
?
慕少森

TA贡献2019条经验 获得超9个赞

我为基于AngularJS的Web客户端设置了许多试错法。
对我来说,下面的方法适用于ASP.NET WebApi 2.2和基于OAuth的服务。

  1. 安装Microsoft.AspNet.WebApi.Corsnuget包。

  2. 安装Microsoft.Owin.Corsnuget包。

  3. Startup.cs文件中添加config.EnableCors(new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS, PUT, DELETE"));到上面的WebApiConfig.Register(config);行。

  4. 添加app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);Startup.Auth.cs文件。这必须在打电话之前完成IAppBuilder.UseWebApi

  5. 删除Blaise所做的任何xml设置。

我在这里发现了很多设置变化和组合stackoverflow或博客文章。所以,布莱斯的方法可能会或可能不会错。这只是我想的另一种设置。


查看完整回答
反对 回复 2019-09-20
?
RISEBY

TA贡献1856条经验 获得超5个赞

经过几个小时的搜索并查看了许多不同的解决方案,我已经设法按照下面的方式工作。

这种情况有很多原因。您很可能在错误的位置启用了CORS,或者启用了两次或根本没有启用CORS。

如果您正在使用Web API和Owin Token端点,那么您需要删除Web API方法中对CORS的所有引用并添加正确的owin方法,因为web api cors将无法与Token端点一起使用,而Owin cors将适用于两个Web API和Token auth端点让我们开始:

  1. 确保已安装Owin Cors软件包删除您拥有的任何行eg.config.EnableCors(); 从您的WebAPIconfig.cs文件

  2. 转到您的startup.cs文件,确保在任何其他配置运行之前执行Owin Cors。

    app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); ConfigureAuth(APP);

  3. 如果仍有问题请访问:Startup.Auth.cs并确保在ConfigureAuth方法中有以下内容(如果您的startup.cs文件正确,则不需要此项)

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);


查看完整回答
反对 回复 2019-09-20
  • 3 回答
  • 0 关注
  • 600 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信