我正在研究ASP.NET MVC客户端应用程序。用户通过另一个返回令牌的API应用程序进行身份验证和授权。
目前,在客户端应用程序从API接收令牌后,它会在会话中保存令牌并为应用授权设置表单身份验证cookie。
FormsAuthentication.SetAuthCookie(TokenViewModel.Username, rememberMe);
HttpContext.Current.Session["AuthenticationToken"] = TokenViewModel;
我应该继续使用表单身份验证,还是只在会话中保存令牌?或者用户OWIN在这里授权用户。
客户端应用使用[授权]属性。
答案 0 :(得分:0)
如果您使用[Authorize]属性,默认情况下,API将检查HTTP请求的Authorization标头中的访问令牌,而不是cookie。
如果您想使用cookie,请转到表单身份验证或自定义Authorize属性以检查Cookie中的令牌。
因此,最好将令牌保持在会话中,同时明确地管理它的生命周期(令牌到期)。除此之外,您可以使用刷新令牌在当前版本到期之前或之后获取新的访问令牌。