23 lines
816 B
C#
23 lines
816 B
C#
using HopFrame.Database;
|
|
using HopFrame.Database.Models;
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
namespace HopFrame.Security.Claims;
|
|
|
|
public class TokenContextImplementor : ITokenContextBase {
|
|
private readonly IHttpContextAccessor _accessor;
|
|
private readonly HopDbContextBase _context;
|
|
|
|
public TokenContextImplementor(IHttpContextAccessor accessor, HopDbContextBase context) {
|
|
_accessor = accessor;
|
|
_context = context;
|
|
}
|
|
|
|
public bool IsAuthenticated => _accessor.HttpContext?.User.Identity?.IsAuthenticated == true;
|
|
|
|
public User User => _context.Users
|
|
.SingleOrDefault(user => user.Id == _accessor.HttpContext.User.GetUserId())?
|
|
.ToUserModel(_context);
|
|
|
|
public Guid AccessToken => Guid.Parse(_accessor.HttpContext?.User.GetAccessTokenId() ?? string.Empty);
|
|
} |