我的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工作。
答案 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令牌认证。