30 lines
929 B
C#
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");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|