Необработанное исключение «Firebase \ JWT \ BeforeValidException» с сообщением «Невозможно обработать токен до 50901-05-16T05: 58: 02 + 0000» - PullRequest
0 голосов
/ 06 декабря 2018

Я понимаю, что это связано с разницей во времени между библиотекой и моим сервером.

Я установил свои PHP-скрипты на использование часового пояса UTC.Я действительно не уверен, как решить эту проблему.Кажется, в Интернете не так уж много, чтобы решить эту проблему.Я попытался изменить свободу действий в классе JWT, и все еще получаю проблемы.Код размещен ниже.

<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
date_default_timezone_set('UTC');

include "../../inc/dbinfo.inc";
require '../vendor/vendor/autoload.php';
use \Firebase\JWT\JWT;
JWT::$leeway = 60;
?>

Также я попробовал:

JWT:$leeway += 60;

Я использую экземпляр EC2 из Amazon Web Services.Я также использую API Firebase JWT для создания токена.

РЕДАКТИРОВАТЬ: Если я не предоставляю достаточно информации, пожалуйста, дайте мне знать.Если есть лучший способ производства JWT, дайте мне знать.У меня много проблем с этой библиотекой.

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

Вот как я создаю токен ....

date_default_timezone_set('UTC');
use \Firebase\JWT\JWT;

    $currentTimeInMillis = round(microtime(true) * 1000);

        $token = array(
            "iss" => "http://example.org",
            "sub" => $username,
            "iat" => $currentTimeInMillis,
            "exp" => $currentTimeInMillis + 256000000);

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

1 Ответ

0 голосов
/ 06 декабря 2018

Проблема в этой строке:

$currentTimeInMillis = round(microtime(true) * 1000);

Если вы запустите эту команду:

echo date('Y-m-d', round(microtime(true) * 1000));

Вы увидите 50901-06-21, который указывает на вашу проблему.Снять круглую часть:

$currentTimeInMillis = microtime(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...