Ты используешь
[Authorize]
атрибут из фреймворка для авторизации, но при этом не следуешь правилам, чтобы фреймворк понял, что клиент авторизован. Как минимум - откуда он узнает, что токен для авторизации находится именно в куках с именем
token
?
В
HttpContext
есть метод
SignInAsync
. Этот токен нужно передавать туда, а не в куки. Дополнительно, нужно правильно настроить процесс авторизации.
Держи
туториал по JWT авторизации
if (token is not null)
{
_httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
_httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
}
- Этот код не имеет смысла, так как заголовок выставляется для созданного _httpClient, а не в запросе (дополнительно, Middleware - синглтон, а _httpClient у тебя один, он не может делать параллельные запросы)