客户端应用程序中使用哪种身份验证机制

时间:2017-04-25 16:09:10

标签: asp.net-mvc authentication asp.net-web-api

我正在研究ASP.NET MVC客户端应用程序。用户通过另一个返回令牌的API应用程序进行身份验证和授权。

目前,在客户端应用程序从API接收令牌后,它会在会话中保存令牌并为应用授权设置表单身份验证cookie。

FormsAuthentication.SetAuthCookie(TokenViewModel.Username, rememberMe);
HttpContext.Current.Session["AuthenticationToken"] = TokenViewModel;

我应该继续使用表单身份验证,还是只在会话中保存令牌?或者用户OWIN在这里授权用户。

客户端应用使用[授权]属性。

1 个答案:

答案 0 :(得分:0)

如果您使用[Authorize]属性,默认情况下,API将检查HTTP请求的Authorization标头中的访问令牌,而不是cookie。

如果您想使用cookie,请转到表单身份验证或自定义Authorize属性以检查Cookie中的令牌。

因此,最好将令牌保持在会话中,同时明确地管理它的生命周期(令牌到期)。除此之外,您可以使用刷新令牌在当前版本到期之前或之后获取新的访问令牌。