0
Я пытаюсь использовать аутентификацию JWT с Firebase, но я всегда получал эту ошибку: «Неустранимая ошибка: нераскрытая Firebase \ JWT \ SignatureInvalidException: проверка подписи не удалась».Firebase JWT: проверка подписи не удалась
Код это:
$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'));
Что не так?
Привет, ты сделал ключ опечатка $$? Это не сработает. –
Я считаю, что ты прав; исправил это. –
BTW один вопрос (возможно, не связанный с этим вопросом, но я прошу вас ответить): я посылаю код состояния 401 всякий раз, когда токен истек/Отсутствует токен в заголовках/Токен недействителен. Таким образом, человек, который использует мои API, не знает, как справиться с этим. Например, он не может изменить ситуацию, если 401 был вызван из-за проблемы, связанной с токеном, или чего-то еще. Как нам с этим справиться? –