Я установил IdentityServer4 на Azure, и он работал правильно, но когда я вхожу в IdentityServer4, он остается в системе только около 20 минут, а затем снова запрашивает вход в систему (перенаправляет на экран входа).
Кто-нибудь знает, как войти в систему только один раз?
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(op => op.Filters.Add(new AuthorizeAttributeFilter()));
var migrationsAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name;
services.AddIdentity<ApplicationUser, IdentityRole>(option =>
{
option.Password.RequireDigit = false;
option.Password.RequiredLength = 3;
option.Password.RequiredUniqueChars = 0;
option.Password.RequireLowercase = false;
option.Password.RequireNonAlphanumeric = false;
option.Password.RequireUppercase = false;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddIdentityServer(options =>
{
options.Events.RaiseErrorEvents = true;
options.Events.RaiseFailureEvents = true;
options.Events.RaiseInformationEvents = true;
options.Events.RaiseSuccessEvents = true;
options.Authentication.CookieLifetime = TimeSpan.FromHours(24);
options.Authentication.CookieSlidingExpiration = true;
})
.AddDeveloperSigningCredential()
.AddAspNetIdentity<ApplicationUser>()
.AddClientStore<ClientStore>()
.AddProfileService<ProfileService>()
.AddConfigurationStore(options =>
{
options.ConfigureDbContext = builder =>
builder.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"),
db => db.MigrationsAssembly(migrationsAssembly));
})
.AddOperationalStore(options =>
{
options.ConfigureDbContext = builder =>
builder.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"),
db => db.MigrationsAssembly(migrationsAssembly));
});
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddAuthentication("MyCookie")
.AddCookie("MyCookie", options =>
{
options.ExpireTimeSpan = TimeSpan.FromHours(24);
});
}