2016-08-20 6 views
0

Я поделюсь с вами первыми кодамиJWT Подпись проверка не удалась, Java в PHP

PHP кода http://pastebin.com/b8TNfyzq строки 22

JwtTester.java http://pastebin.com/TsF0wsCX линией 22

Токена создан в Java коде, который я написал в php-сервере не соответствует токену. Хотя я не могу подтвердить тот же ключ на обеих сторонах

я использую github.com/jwtk/jjwt в Java коде и github.com/firebase/php-jwt в PHP кодов

же с код Java и данные в ключе, состоит из другого токена, когда я создаю токен только в PHP

+0

Не связывайте код. Скопируйте код – pedrofb

ответ

0

Является проблемой преобразования формата. jjwt требуется ключ, закодированный в base64 и PHP-JWT использует обычную строку

Jjwt JwtBuilder

JwtBuilder signWith(SignatureAlgorithm alg, String base64EncodedSecretKey); 

Php-jwt JWT

/** 
* Decodes a JWT string into a PHP object. 
* 
* @param string  $jwt   The JWT 
* @param string|array $key   The key, or map of keys. 
*          If the algorithm used is asymmetric, this is the public key 
public static function decode($jwt, $key, $allowed_algs = array() 

Кодируйте ключ в base64 перед вызовом JwtBuilder.signWith

builder.signWith(SignatureAlgorithm.HS256, 
           DatatypeConverter.printBase64Binary(key)); 
Смежные вопросы