현재 ASP.NET Core Identity를 사용 중입니다. 세션 길이를 연장하는 설정을 알 수는 없지만 로그 아웃 상태가 계속됩니다. 슬라이딩 만료가 ~ 20 분이라고 가정하지만 설정을 찾을 수 없습니다. 참고로 Google을 외부 OAuth로 사용하고 있습니다.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
});
가능한 중복 [쿠키 코어가 ASP.NET 코어에서 너무 빨리 만료 됨] (https://stackoverflow.com/questions/45595615/c) ookie-authentication-expiring-too-soon-asp-net-core) – SteelToe
응용 프로그램을 호스팅하는 곳과 방법은 무엇입니까? IIS? Azure App 서비스? 그런 다음 쿠키에 대한 암호화 키가 응용 프로그램을 다시 시작할 때까지 데이터 보호가 가능해야합니다. [내 대답은 여기에 있습니다.] (https://stackoverflow.com/a/47559544/455493) – Tseng