set cookie options when deleting a cookie?

This commit is contained in:
john 2025-05-20 23:36:14 +02:00
parent 693004bcb9
commit 0235a4c52b

View file

@ -62,7 +62,28 @@ internal static class HttpContextSessionExtensions
public static void DeleteSession(this HttpContext httpContext)
{
httpContext.Response.Cookies.Delete("session");
httpContext.Response.Cookies.Delete("user");
var cookieSettings = httpContext.RequestServices.GetService<IOptions<CookieSettings>>();
var secure = cookieSettings?.Value.Secure ?? true;
var sameSite = secure ? SameSiteMode.None : SameSiteMode.Unspecified;
var domain = cookieSettings?.Value.Domain;
httpContext.Response.Cookies.Delete("session", new CookieOptions
{
HttpOnly = true,
Domain = domain,
IsEssential = true,
Secure = secure,
SameSite = sameSite,
Expires = DateTimeOffset.UtcNow.AddDays(-1),
});
httpContext.Response.Cookies.Delete("user", new CookieOptions
{
Domain = domain,
IsEssential = true,
Secure = secure,
SameSite = sameSite,
Expires = DateTimeOffset.UtcNow.AddDays(-1),
});
}
}