Перейти к основному содержимому

Аутентификация и права

Аутентификация построена на ASP.NET Core Identity API endpoints и bearer tokens.

Жизненный цикл токена

Frontend

Frontend хранит:

  • accessToken
  • tokenType
  • expiresAt
  • roles
  • employeeId
  • пользовательские настройки

Авторизованные запросы используют:

authorization: `${tokenType} ${accessToken}`

Backend

Backend регистрирует:

  • AddIdentityApiEndpoints<ApplicationUser>()
  • AddRoles<IdentityRole>()
  • MapIdentityApi<ApplicationUser>()
  • UseAuthentication()
  • UseAuthorization()

Для SignalR access token может передаваться через query string для путей /hubs/*.

Authorization attributes

AuthorizeRolesAttribute преобразует значения EnRole в стандартную строку ролей ASP.NET Core. Пользователь проходит проверку, если в claims есть хотя бы одна требуемая роль.