如何在 ASP.NET Core 2 中添加身份验证 Cookie 超时

How to add Identity Authentication Cookie Timeout in ASP.NET Core 2

我有一个现有的制作 ASP.NET 核心 1.1 项目,我已经升级到 ASP.NET 核心 2。

我在 ASP.NET 核心 1.1 中将 ASP.NET 核心身份验证 cookie 设置为 2 小时

public void ConfigureServices(IServiceCollection services)
{

    services.AddIdentity<ApplicationUser, ApplicationRole>(options =>
    {
        options.Cookies.ApplicationCookie.CookieName = "MyApp";
        options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromMinutes(120);
     })
    .AddEntityFrameworkStores<MyDbContext, Guid>()
    .AddDefaultTokenProviders();

但是在 ASP.NET 2.0 Core 中,Cookies 属性 已从 AddIdentity 选项中删除

如果您想调整身份 cookie,它们不再是 IdentityOptions 的一部分。 您将像这样使用 services.ConfigureApplicationCookie-

    public void ConfigureServices(IServiceCollection services)
    {
        ....
        services.ConfigureApplicationCookie(options => {
            options.CookieName = "MyApp";
            options.ExpireTimeSpan = TimeSpan.FromMinutes(120);
        });
        ....
    }

注意:CookieName 属性 已过时,将在以后的版本中删除。推荐的替代方案是 Cookie.Domain.