Я обновляю свою систему входа в систему Google, которая требует от меня расшифровки id_token
строки предоставлены Google. Строки действительны, и я могу декодировать их через: https://developers.google.com/wallet/digital/docs/jwtdecoder
Но я хочу, чтобы мой сервер делал это на лету в PHP.
Я нашел оба: https://github.com/firebase/php-jwt/tree/master а также https://github.com/luciferous/jwt
Но я не могу понять, как работать с пакетами PEAR. Простые сценарии PHP, которые можно скопировать на мой сервер, я могу сделать, но документация, предоставляемая этими двумя пакетами, очень ограничена. У кого-нибудь есть пример кода о том, как декодировать такую строку?
Любая помощь приветствуется.
Если я вас правильно понял, вы пытаетесь декодировать JWT с помощью сценария PHP?
Если это так, возможно, следующий код PHP (взят из https://developers.google.com/wallet/instant-buy/about-jwts#jwt_decoding) может помочь вам использовать скрипт от luciferous.
$mwr = array(
'iat' => $now,
'exp' => $now + 3600,
'typ' => 'google/wallet/online/masked/v2/request',
'aud' => 'Google',
'iss' => MERCHANT_ID,
'request'=> array(
'clientId' => CLIENT_ID,
'merchantName'=> MERCHANT_NAME,
'origin'=> ORIGIN,
'pay'=> array (
'estimatedTotalPrice'=> $estimated_total_price,
'currencyCode'=> $input['currencyCode'],
),
'ship'=> new stdClass(),
),
);
if (isset($input['googleTransactionId'])) {
$mwr['request']['googleTransactionId'] = $input['googleTransactionId'];
}
WalletUtil::encode_send_jwt($mwr);
Других решений пока нет …