PIAPS_CW/WebApp/Pages/PageModelExtension.cs

30 lines
929 B
C#

using Microsoft.AspNetCore.Mvc.RazorPages;
using Newtonsoft.Json;
namespace WebApp.Pages
{
public static class PageModelExtension
{
public static string? GetUserId(this PageModel pageModel)
{
if (pageModel.User.Identity.IsAuthenticated)
{
var userIdClaim = pageModel.User.Claims.FirstOrDefault(c => c.Type == "userId");
return userIdClaim?.Value;
}
return null;
}
public static void SetJWT(this PageModel pageModel, string jwt)
{
string token = (string)JsonConvert.DeserializeObject(jwt);
// Сохраняем в кукис токен
pageModel.Response.Cookies.Append("21gunsthebest", token);
}
public static void DeleteJWT(this PageModel pageModel)
{
pageModel.Response.Cookies.Delete("21gunsthebest");
}
}
}