У меня есть приложение с авторизацией токена JWT.
Маркер JWT содержит информацию о роли пользователя и дополнительную информацию о пользователе, которая хранится в Заявках.
После ожидание информация о токене пользователя исчезнет.
Это поведение по умолчанию? Как получить информацию о пользователе после ожидания? Да, есть простой обходной путь -> сохранить информацию в переменную до await , но мне это кажется странным.
Мой контроллер:
[Route("api/[controller]")]
[ApiController]
public class ProjectController : ControllerBase
{
private readonly IProjectDomainService _projectDomainService;
public ProjectController(IProjectDomainService projectDomainService)
{
_projectDomainService = projectDomainService;
}
[HttpPost("[action]")]
[Authorize(Roles = "Admin")]
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public async void CreateProject([FromBody] ProjectDto project)
{
var claims = User.Claims; //contains 11 claims
await Task.Delay(100);
claims = User.Claims; // contains 0 claims
}
}
Edit1: заменен вызов projectDomainService на Task.Delay (). То же самое поведение - заявки остаются после ожидания.