using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using VberZero;
namespace VberAdmin.Identity;
public static class ConfigureApplicationCookie
{
///
/// 自定义Cookie选项
///
///
///
public static void ConfigureCustomApplicationCookie(this IServiceCollection services, IConfiguration configuration)
{
if (!int.TryParse(configuration["AuthSession:ExpireTimeInMinutes"], out int expireTime))
{
expireTime = VzConsts.SignInExpireMinutes;
}
services.ConfigureApplicationCookie(options =>
{
//访问拒绝路径
options.AccessDeniedPath = "/Account/Login";
options.Cookie.Name = VberAdminConsts.AspNetCoreCookieName;
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromMinutes(expireTime);
options.LoginPath = "/Account/Login";
// ReturnUrlParameter requires
//using Microsoft.AspNetCore.Authentication.Cookies;
options.ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter;
options.SlidingExpiration = true;
});
}
}