Создание веб-токена JSON с PHP - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь создать JWT на PHP, который, кажется, работает, но токен недействителен с приложением, для которого я его использую (метабаза).

Вот мой код

use \Firebase\JWT\JWT;

$key = "acb...123";
$token = array (
    'resource' =>
        array (
            'dashboard' => 5333
        ),
        'params' => array (),
    );

$jwt = JWT::encode($token, $key);

Это дает то, что выглядит как действительный результат ...

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6eyJkYXNoYm9hcmQiOjUzMzN9LCJwYXJhbXMiOltdfQ.xt2AuqbRZeJOQZ17xphCwMsikSaZDvMpG5ecydN6X08

Но это недопустимый токен для метабазы ​​

Если я использую онлайн-генератор JWT (https://www.jsonwebtoken.io/) Я получаю токен (немного дольше), который работает, но я не вижу, что в этом особенного.

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6eyJkYXNoYm9hcmQiOjUzMzN9LCJwYXJhbXMiOnt9LCJqdGkiOiI2MzczMDg4YS1iZmIwLTRmMDQtYWRhNi00ZmY2MzI4ZjJkNDAiLCJpYXQiOjE1NjAzMzQ2NDQsImV4cCI6MTU2MDMzODI0NH0.iMIvyAmemFyMq8QF00xYLdVoSpSnb_PjcrIsRVIE74c

РЕДАКТИРОВАТЬ:

ОК, поэтому декодировалвывод из онлайн-генератора, я получаю это ...

stdClass Object
(
    [resource] => stdClass Object
        (
            [dashboard] => 5
        )

    [params] => stdClass Object
        (
        )

    [jti] => c1531882-1ca1-4d7f-a1a2-fc12862d40bc
    [iat] => 1560334984
    [exp] => 1560338584
)

Какие дополнительные биты?

ДРУГОЕ РЕДАКТИРОВАНИЕ!

ОК, так что, похоже, ничегоделать с дополнительными битами

Это сработало ...

$token = json_decode('{
 "resource": {
  "dashboard": 5
 },
 "params": {}
}');

По-прежнему целесообразно включать exp и iat и т. д.?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...