Как добавить таймаут cookie для аутентификации личности в ASP.NET Core 2

У меня есть производственный проект ASP.NET Core 1.1, который я обновил до ASP.NET Core 2.

Я установил файл cookie проверки подлинности удостоверения ASP.NET Core, подобный этому, в ASP.NET Core 1.1 на 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.


person dfmetro    schedule 19.08.2017    source источник


Ответы (1)


Если вы хотите настроить файлы cookie идентификации, они больше не являются частью IdentityOptions. Вам придется использовать services.ConfigureApplicationCookie вот так -

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

Примечание. Свойство CookieName устарело и будет удалено в будущей версии. Рекомендуемая альтернатива - Cookie.Domain.

person Sanket    schedule 19.08.2017
comment
Как теперь указанный выше тайм-аут будет связан с моим файлом cookie идентификации, а не с каким-либо другим файлом cookie, например, если я использую файл cookie сеанса? - person dfmetro; 19.08.2017