C# 一个用于所有请求的反伪造令牌

C# 一个用于所有请求的反伪造令牌,c#,web-services,authentication,token,asp.net-web-api,C#,Web Services,Authentication,Token,Asp.net Web Api,我有Web API 2 Web服务和方法: // Makes and returns Token by login/password. string GetToken(string login, string password); // Returns orders of current account. Order[] GetMyOrders(); 我想通过GetMyOrders()中的用户对该方法的请求来对其进行身份验证 请求必须包含将映射到web服务端的accountId的令牌 客户端

我有Web API 2 Web服务和方法:

// Makes and returns Token by login/password.
string GetToken(string login, string password);

// Returns orders of current account.
Order[] GetMyOrders();
我想通过GetMyOrders()中的用户对该方法的请求来对其进行身份验证

请求必须包含将映射到web服务端的accountId的令牌

客户端将对每个请求使用此令牌

我可以使用ASP.NET标识实现GetToken()方法吗

使用此令牌和ASP.NET标识进行身份验证的正确方法是什么?我可以使用ValidateAntiForgeryTokenAttribute或其他东西吗


GetToken()将仅通过https工作,但GetMyOrders()将通过http工作。

是的,您可以在webapi中实现OAuth承载令牌

示例如下:

对令牌进行身份验证的最佳方法是内置的,这意味着您只需要放置
[Authorize]
数据注释


因此,基本上您应该使用允许您使用OAuth承载令牌身份验证的API。

您的API是ASP.NET MVC站点的一部分还是独立的?它是独立的web服务。它没有任何web视图。
ValidateAntiForgeryTokenAttribute
用于防止。