Я понимаю, что это связано с разницей во времени между библиотекой и моим сервером.
Я установил свои 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);