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

问题描述:

我正在开发ASP.NET MVC客户端应用程序。用户通过另一个返回令牌的API应用程序进行认证和授权。在客户端应用程序中使用哪种身份验证机制

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

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

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

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

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

如果您想要使用cookie,那么请进行表单身份验证或自定义Authorize属性以检查cookie内的令牌。

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

+0

问题是针对客户端应用程序的。 API使用令牌进行授权,对客户端应用程序进行哪种身份验证会更好? – Ahmed

+0

使用cookie会更好。 –