私は現在ASP.NET Core Identityを使用しています。私はセッションの長さを延長する設定を理解することができませんが、私はログアウトし続けている - 私は20分のスライディングの有効期限があると仮定しますが、私は設定を見つけることができません。注:外部OAuthとしてGoogleを使用しています。ASP.NET Core Identityの有効期限(Google OAuth)
services.AddIdentity<ApplicationUser, IdentityRole>(o =>
{
o.Password.RequireDigit = false;
o.Password.RequireLowercase = false;
o.Password.RequireUppercase = false;
o.Password.RequireNonAlphanumeric = false;
o.Password.RequiredLength = 6;
o.SecurityStampValidationInterval = TimeSpan.FromHours(8);
o.Cookies.ExternalCookie.ExpireTimeSpan = TimeSpan.FromHours(8);
o.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromHours(8);
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
app.UseIdentityServer();
app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
{
Authority = $"http://localhost:55504/",
RequireHttpsMetadata = false,
AllowedScopes =
{
IdentityServerConstants.StandardScopes.OpenId,
IdentityServerConstants.StandardScopes.Profile,
IdentityServerConstants.StandardScopes.Email,
"name",
"given_name",
"family_name",
"role"
}
});
var googleOptions = serviceProvider.GetRequiredService<GoogleOptions>();
app.UseGoogleAuthentication(new GoogleOptions
{
AuthenticationScheme = "Google",
SignInScheme = "Identity.External",
ClientId = googleOptions.ClientId,
ClientSecret = googleOptions.ClientSecret
});
可能な重複[Cookie認証が期限切れになっている](https://stackoverflow.com/questions/45595615/c) ookie-authentication-expiring-too-soon-in-asp-net-core) – SteelToe
アプリケーションをどこにホスティングしていますか? IIS? Azure Appサービス?その後、データ保護を有効にする必要があります。そのため、Cookieの暗号化キーはアプリケーションの再起動後も存続します。 [my answer here](https://stackoverflow.com/a/47559544/455493)を参照してください。 – Tseng