30 lines
777 B
C#
30 lines
777 B
C#
|
using Microsoft.AspNetCore.Http;
|
|||
|
using System;
|
|||
|
|
|||
|
namespace Mirea.Api.Security.Common.Domain;
|
|||
|
|
|||
|
public class CookieOptionsParameters
|
|||
|
{
|
|||
|
public required string Domain { get; set; }
|
|||
|
public required string Path { get; set; }
|
|||
|
|
|||
|
internal void SetCookie(HttpContext context, string name, string value, DateTimeOffset? expires = null)
|
|||
|
{
|
|||
|
var cookieOptions = new CookieOptions
|
|||
|
{
|
|||
|
Expires = expires,
|
|||
|
Path = Path,
|
|||
|
Domain = Domain,
|
|||
|
HttpOnly = true,
|
|||
|
#if !DEBUG
|
|||
|
Secure = true
|
|||
|
#endif
|
|||
|
};
|
|||
|
|
|||
|
context.Response.Cookies.Append(name, value, cookieOptions);
|
|||
|
}
|
|||
|
|
|||
|
internal void DropCookie(HttpContext context, string name) =>
|
|||
|
SetCookie(context, name, "", DateTimeOffset.MinValue);
|
|||
|
}
|