如何在Web API应用程序中使用ASP.net 5 Identity?基于令牌的用户身份验证.移动应用

Pio*_*rek 22 c# asp.net asp.net-web-api asp.net-core

假设我目前有一个新创建的项目基于Visual Studio 2015"WebApp"模板和个人帐户身份验证,我使用Microsoft.AspNet.Authentication包,我不能总是依赖cookie,因为我的Web API也应该针对移动应用程序:

如何向我的Web API添加身份验证?我对基于令牌的身份验证特别感兴趣.

Rad*_*nov 3

在您的 Web api 项目中实现自定义 AuthorizeAttribute。在 IsAuthorized(HttpActionContext actionContext) 重载中,您可以检查授权方案和授权标头,然后可以连接到会话提供程序并检查用户是否有活动会话。您必须在授权标头中传递登录令牌,因此如果令牌丢失,则意味着没有活动用户。因此,当您登录时,您必须在成功登录时创建并加密令牌。然后将此令牌与每个请求一起传递到服务器。
此博客包含有关使用 AuthorizeAttribute 的更多信息:http://weblogs.asp.net/jongalway/asp-net-mvc-authentication-customizing-authentication-and-authorization-the-right-way