Я использую библиотеку "Lcobucci" для создания JWT.
Во время выполнения кода произошла ошибка неверной подписи.
Я много искал учебник, до сих пор не понял ошибку.
Вот код:
require "vendor/autoload.php"; // Autoload.php is generated by Composer
use Lcobucci\JWT\Builder;
use Lcobucci\JWT\Signer\Hmac\Sha256;
$GLOBALS['ApiKey'] = '6e845674-96b3-4e85-b843-418ceae4491f';
$GLOBALS['ApiId'] = '5c38c665ff626b1fe01a3987';
$GLOBALS['OrgUnitId'] = '5c33bddeff626b1fe015635e';
$_SESSION['TransactionId'] = '123456';
$_SESSION['Order'] = array(
"OrderDetails" => array(
"OrderNumber" => "100000425",
"Amount" => '1500',
"CurrencyCode" => '840'
)
);
function generateJwt($orderTransactionId, $orderObj){
$currentTime = time();
$expireTime = 3600;
$token = (new Builder())->setIssuer($GLOBALS['ApiId'])
->setId($orderTransactionId, true)
->setIssuedAt($currentTime)
->setExpiration($currentTime + $expireTime)
->set('OrgUnitId', $GLOBALS['OrgUnitId'])
->set('Payload', $_SESSION['Order'])
->set('ObjectifyPayload', true)
->sign(new Sha256(), $GLOBALS['ApiKey'])
->getToken();
return $token; // The JWT String
}
echo generateJwt($_SESSION['TransactionId'], $_SESSION['Order']);
Я ссылался на токен в jwt.io
Любая помощь, пожалуйста?
Смотрите скриншот. JWT Refrence