Archived
Private
Public Access
1
0
This repository has been archived on 2026-02-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
WebDesktop/Backend/Security/TokenContext.cs
2022-09-04 12:03:44 +02:00

26 lines
922 B
C#

using Backend.Security.Authorization;
namespace Backend.Security {
internal class TokenContext : ITokenContext {
private readonly IHttpContextAccessor _accessor;
public TokenContext(IHttpContextAccessor accessor) {
_accessor = accessor;
}
public bool IsAuthenticated => _accessor.HttpContext?.User.Identity?.IsAuthenticated == true;
public Guid UserId => CreateGuild(_accessor.HttpContext?.User.GetUserId());
public Guid AccessTokenId => CreateGuild(_accessor.HttpContext?.User.GetAccessTokenId());
public Guid RefreshTokenId => CreateGuild(_accessor.HttpContext?.User.GetRefreshTokenId());
public string[] Permissions => _accessor.HttpContext?.User.GetPermissions();
private static Guid CreateGuild(string id) {
if (string.IsNullOrEmpty(id)) return Guid.Empty;
return Guid.Parse(id);
}
}
}