2016-08-23 3 views
1

Я генерирую токен на нашем сервере auth (Node.js) в node-jsonwebtoken, который будет передан API (PHP Laravel) и подтвержден tymondesigns/jwt-auth.Проверка JWT, сгенерированного узлом в Laravel

  • Маркер генерируется tymondesigns/JWT-AUTH будет успешно проверено своей собственной функции проверить, узловой jsonwebtoken и jwt.io.
  • Токен, созданный node-jsonwebtoken, будет успешно проверен собственной функцией проверки, jwt.io, , но не tymondesigns/jwt-auth.

На сервере Laravel, я получаю следующее сообщение об ошибке при попытке проверить маркер, генерируемый узлом-jsonwebtoken:

TokenInvalidException in NamshiAdapter.php line 71: 
Token Signature could not be verified. 

Полезная нагрузка выглядеть одинаково, когда я смотрю на них более чем на jwt.io. Я даже попытался создать точный же токен на сервере Node, передав те же iat, sub, iss, exp, nbf и jti, которые сгенерированы рабочим токеном, но tymondesigns/jwt-auth все равно не примет его.

Есть ли что-нибудь еще, что может вызвать это, но не видно в расшифрованной информации? Я также не уверен на 100%, как работает jti. Может быть, что-то мешает этому работать над этим?

узел-jsonwebtoken (7.1.9), Tymon/JWT-аутентификации (0.5.9), namshi/хосе (5.0.2)

ответ

2

Последняя версия namshi/jose библиотеки 7.0. Существует также известные ошибки для всех алгоритмов ESxxx.

Если вы не можете проверить подписи с использованием этой библиотеки, вы можете попробовать другой. Я разработал a library, который поддерживает все функции, описанные в RFC, связанных с JWT, включая поддержку шифрования.

1

Причина в том, что, как упоминалось Спамки, ошибка в namshi/jose, связанная с претензией iss. Он разрешен в 7.0, который используется tymon/jwt-auth1.0.0-alpha.2. Однако, поскольку в настоящее время нет документального способа установки 1.0.0-alpha.2, нам, вероятно, придется ждать стабильной версии.

До тех пор, так как проблема и ошибка не связана с iss претензии, удаляя iss требование от required_claims и генерирования маркеров без нее решает проблему временно.

Смежные вопросы