Firebase JWT: проверка подписи не удалась

Я пытаюсь использовать JWT-аутентификацию с Firebase, но всегда получаю эту ошибку: «Неустранимая ошибка: Uncaught Firebase \ JWT \ SignatureInvalidException: сбой проверки подписи».

Код такой:

$key = "test";

$tokenId    = base64_encode(mcrypt_create_iv(32));
$issuedAt   = time();
$notBefore  = $issuedAt + 10;
$expire     = $notBefore + 60;
$serverName = $_SERVER["SERVER_NAME"];$data = [
'iat'  => $issuedAt,
'jti'  => $tokenId,
'iss'  => $serverName,
'nbf'  => $notBefore,
'exp'  => $expire,
"userId"  => 1
];$secretKey = base64_decode($key);$jwt = \Firebase\JWT\JWT::encode($data, $secretKey, 'HS256');

// and when I decode the tokens, I got that exception
$decoded = \Firebase\JWT\JWT::decode($jwt, $key, array('HS256'));

В чем я не прав?

1

Решение

Вам не нужно $secretKey или base64_decode ключ по этому вопросу, просто сделайте:

$jwt = \Firebase\JWT\JWT::encode($data, $key, 'HS256');
$decoded = \Firebase\JWT\JWT::decode($jwt, $key, array('HS256'));
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]