[SOLVED] REST JWT от sizeg - исчезает токен из заголовков

Всё что касается построения API
Ответить
marsden
Сообщения: 5
Зарегистрирован: 2019.11.25, 09:28

[SOLVED] REST JWT от sizeg - исчезает токен из заголовков

Сообщение marsden » 2019.11.28, 14:57

Всем трям!
Пытаюсь победить REST с JWT токенами, для JWT взял https://github.com/sizeg/yii2-jwt
Логин в контроллере проходит, токен выдает, а вот дальше начинается непонятное - на любой запрос получаю 401 Unauthorized
Запрос формирую руками через Postman, Fiddler показывает, что все нормально, заголовок с токеном уходит

Код: Выделить всё

POST http://testapi.xxx.ru/api/sklads HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6Img0NTNramYzNDVmIn0.eyJpc3MiOiJsYWRhLW5mLnJ1IiwiYXVkIjoibGFkYS1uZi5ydSIsImp0aSI6Img0NTNramYzNDVmIiwiaWF0IjoxNTc0OTM3NTY1LCJleHAiOjE1NzYyMzM1NjUsInVpZCI6MX0.ErD7XxQJZU_duSp_dCj8sBn1ckD-kP4eYeqORAYuq9o
User-Agent: PostmanRuntime/7.20.1
Cache-Control: no-cache
Postman-Token: cefe6805-028a-4856-a742-999283d5cdcb
Host: testapi.xxx.ru
Accept-Encoding: gzip, deflate
Cookie: advanced-backend=565b81ee7329c5f3f8206bf5cdc3907b; _csrf-backend=ceb637c10045062372e4ccbdf86dea31fe5c0f985680239f461f8f4157ef7ef7a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22_csrf-backend%22%3Bi%3A1%3Bs%3A32%3A%22garNXmErE9AWgyGEt2gFiA8p3egZBTRZ%22%3B%7D
Content-Length: 0
Connection: keep-alive
Но вот при проверке токена в JwtHttpBearerAuth (наследник AuthMethod) в методе authenticate в $request этот заголовок просто исчезает! Естесственно, что и авторизация не проходит. Если же поменять его на что-нибудь типа Auth-Token: Bearer **** и подправить код проверки токена - то все начинает работать, токен проверяется, авторизация считается успешной, контроллер экшены отрабатывает.
Собственно отсюда вопрос - кто съедает заголовок Autorization: Bearer *** ? И почему это происходит?
Последний раз редактировалось marsden 2019.11.29, 07:00, всего редактировалось 2 раза.

yiiliveext
Сообщения: 785
Зарегистрирован: 2019.08.13, 01:49

Re: REST JWT от sizeg - исчезает токен из заголовков

Сообщение yiiliveext » 2019.11.28, 18:47

Здесь телепатов нет. Компонент сам по себе работает нормально.

marsden
Сообщения: 5
Зарегистрирован: 2019.11.25, 09:28

Re: [SOLVED] REST JWT от sizeg - исчезает токен из заголовков

Сообщение marsden » 2019.11.29, 06:58

Телепатов вообще нигде нет ))
Компонент работает, согласен. И в этой проблеме его недостаток только в том, что нет кастомизации заголовков для передачи токена.
А проблема оказалась в связке Apache 2.4 и php-fpm, работающим через proxy_fcgi - именно в этой конфигурации апач режет заголовок, не пропуская его до скрипта. Апач и mod_php работают нормально.
Вышел из положения так - сделал наследника от JwtHttpBearerAuth, переопределил метод authenticate и переписал код на проверку другого заголовка, в котором передаю токен.

Ответить