diff --git a/src/Server/Controllers/MistoxControllerBase.cs b/src/Server/Controllers/MistoxControllerBase.cs index 9c56ba4..818c994 100644 --- a/src/Server/Controllers/MistoxControllerBase.cs +++ b/src/Server/Controllers/MistoxControllerBase.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Mvc; using Auth.Entities; using Auth.Services.DatabaseService; using System.Security.Claims; +using Auth.Services; namespace Auth.Controllers { @@ -13,6 +14,29 @@ namespace Auth.Controllers { _databaseService = databaseService; } + public static void SignIn(HttpResponse Response, bool StayLoggedIn, string jwt) { + if (StayLoggedIn) { + // Stay logged in cookie + Response.Cookies.Append(AuthJWT.TokenName, jwt, new CookieOptions { + Secure = true, + HttpOnly = true, + SameSite = SameSiteMode.Strict, + Expires = DateTime.UtcNow.AddDays(7) + }); + } else { + // Session cookie + Response.Cookies.Append(AuthJWT.TokenName, jwt, new CookieOptions { + Secure = true, + HttpOnly = true, + SameSite = SameSiteMode.Strict, + }); + } + } + + public static void SignOut(HttpResponse Response) { + Response.Cookies.Delete(AuthJWT.TokenName); + } + public bool isLoggedIn() { if (User.Identity != null && User.Identity.IsAuthenticated) { return true;