Cookie模板中的cookie中间件的作用是什么

时间:2015-10-09 11:56:40

标签: visual-studio-2013 single-page-application katana owin-middleware

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中间件在此中扮演什么角色?

1 个答案:

答案 0 :(得分:1)

它可以替代表单身份验证。之前,用户将使用表单身份验证登录,然后它将发出cookie,并创建表示用户身份的主体对象。使用OWIN,cookie身份验证中间件可以完成相同的任务。

它还可以处理登录/重定向(禁止请求)等内容,如上面的代码行所示:

LoginPath = new PathString("/Account/Login"),