如何在API发布请求中使用[Authorize]和[ValidateAntiForgeryToken]?

时间:2019-03-26 05:46:33

标签: angularjs asp.net-mvc asp.net-web-api oauth-2.0 antiforgerytoken

我已经使用Angular 1创建了一个webapi和MVC项目。还创建了一些api。我在项目中也使用过oauth。我在我的api控制器中设置了[自动]。我还在视图文件中添加了RequestVerificationToken。现在我在提交按钮上调用api。我需要在api后传递[Authorize]和[ValidateAntiForgeryToken]。我遇到两个问题

  1. 提供的ClaimsIdentity中没有类型为“ http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier”或“ http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider”的声明。要通过基于声明的身份验证启用防伪令牌支持,请验证配置的声明提供程序是否在其生成的ClaimsIdentity实例上同时提供了这两个声明。如果配置的声明提供程序改为使用其他声明类型作为唯一标识符,则可以通过设置静态属性AntiForgeryConfig.UniqueClaimTypeIdentifier对其进行配置。'

我在global.aspx.cs文件中添加以下行后已解决此问题。 AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Email;

  1. 现在我正面临第二个问题。所提供的防伪令牌是针对与当前用户不同的基于声明的用户的。

我不清楚这个问题。

我可以同时使用两个属性吗?

0 个答案:

没有答案