Запрос PUT работает с Angular, но с Postman / Insomnia возвращает 401 - PullRequest
0 голосов
/ 28 мая 2020

Некоторое время назад я смог создать логин, зарегистрировать, отредактировать пользователя и получить все функции пользователя. Они работали нормально, так как я смог зарегистрировать пользователя. Войдите в систему, а затем также отредактируйте эти учетные данные. Конечно, для аутентификации использовались некоторые токены JWT. Я использовал вызов API в Postman для редактирования текущих пользователей: PUT Request

Это работало нормально до недавнего времени, когда даже если я добавлю токен Bearer в заголовок авторизации, я все равно получаю «401 Несанкционированная "ошибка. Это также происходит, когда я использую Insomnia для выполнения того же запроса. Я использую Angular в качестве интерфейса, и его службы по-прежнему работают нормально, поскольку я могу как входить в систему, так и регистрировать пользователей. Находясь в почтальоне / бессоннице, я могу только войти в систему и получить токен на предъявителя. Все остальные запросы POST / GET, связанные с / users /, больше не работают.

Другие запросы GET работают нормально и возвращают ответ 200.

Это результат запроса PUT:

PUT /users/11 HTTP/1.1 
1011 * Авторизация: Знаменосец eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjkiLCJuYmYiOjE1OTA2NTUxMjcsImV4cCI6MTU5MTI1OTkyNywiaWF0IjoxNTkwNjU1MTI3fQ.eYd4oUpE7i4PXByt2aUI-4OGCl0N_vGCmaBgib28uTQ 1013 * Content-Type: применение / json 1015 * User-Agent: PostmanRuntime / 7.25.0

Принять: /

Cache-Control: no-cache

Postman-Token: cea6f9a6-46bb-41b1-a711-7fc1f8886858

Хост: localhost: 5000

Accept-Encoding: gzip, deflate, br

Connection: keep-alive

Content-Length: 29

{" Пароль ":" Eskimo_321 "}

HTTP / 1.1 401 Неавторизовано

Кодирование передачи: фрагментировано

Сервер: Microsoft-IIS / 10.0

WWW-Authenticate: Носитель

X-Powered-By: ASP. NET* 104 5 *

Дата: чт, 28 мая 2020 г., 09:38:10 GMT

1 Ответ

0 голосов
/ 29 мая 2020

Обнаружил проблему, перестроил свой проект и забыл добавить:

app.UseAuthentication();

в файл Startup.cs. Авторизация требовалась для всех маршрутов, кроме авторизации и регистрации.

...