diff --git a/SurveyBackend/SurveyBackend.API/Contexts/UserContext.cs b/SurveyBackend/SurveyBackend.API/Contexts/UserContext.cs
index 298cc59..de5e7f1 100644
--- a/SurveyBackend/SurveyBackend.API/Contexts/UserContext.cs
+++ b/SurveyBackend/SurveyBackend.API/Contexts/UserContext.cs
@@ -1,19 +1,31 @@
using System.Security.Claims;
using SurveyBackend.Core.Contexts;
+using SurveyBackend.Services.Exceptions;
namespace SurveyBackend.Contexts;
+///
+/// Упрощает получение UserId из JWT-токена
+///
public class UserContext : IUserContext
{
private readonly IHttpContextAccessor _httpContextAccessor;
+ ///
+ /// Добавьте HttpContextAccessor в DI и будет счастье
+ ///
+ ///
public UserContext(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
+ ///
+ /// Возвращает UserId из токена, при отсуствии кидает Unauthorized
+ ///
+ ///
public int UserId =>
int.Parse(
_httpContextAccessor.HttpContext?.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)
- ?.Value ?? throw new UnauthorizedAccessException());
+ ?.Value ?? throw new UnauthorizedException("Where's your token mister"));
}
\ No newline at end of file