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");
|
|
}
|
|
}
|
|
} |