VS 2013 SPA模板配置了cookie中间件,以及其他中间件,如OAuth MW或ExternalCookie MW。
// Enable the application to use a cookie to store information for the signed in user
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(20),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
// Use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
由于WebApi将通过承载令牌授权从客户端进行的呼叫,并且外部cookie中间件可以支持外部登录提供商,因此cookie中间件在此中扮演什么角色?
答案 0 :(得分:1)
它可以替代表单身份验证。之前,用户将使用表单身份验证登录,然后它将发出cookie,并创建表示用户身份的主体对象。使用OWIN,cookie身份验证中间件可以完成相同的任务。
它还可以处理登录/重定向(禁止请求)等内容,如上面的代码行所示:
LoginPath = new PathString("/Account/Login"),