所有请求都有一个AntiForgery令牌

时间:2014-07-07 12:15:29

标签: 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的令牌。

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

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

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

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

1 个答案:

答案 0 :(得分:1)

是的,您可以在webapi中实施OAuth Bearer Tokens。

以下示例:

http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

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

所以基本上你应该使用Owin middleware来允许你使用OAuth Bearer令牌认证。