在 PHP 中解码来自 Google 的 JWT 编码字符串
Decode JWT encoded string from Google in PHP
我正在升级基于 Google 的登录系统,这需要我解码 Google 提供的 id_token
个字符串。这些字符串是有效的,我可以通过以下方式解码它们:https://developers.google.com/wallet/digital/docs/jwtdecoder
但我希望我的服务器在 PHP 中即时执行此操作。
我找到了两个:https://github.com/firebase/php-jwt/tree/master and https://github.com/luciferous/jwt
但我不知道如何使用 PEAR 包。我可以将简单的 PHP 脚本复制到我的服务器,但我发现这两个软件包提供的文档非常有限。有人有关于如何解码这样的字符串的示例代码吗?
如有任何帮助,我们将不胜感激。
如果我没理解错的话,你是想用 PHP 脚本解码 JWT?
如果是这样,也许以下 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);
我正在升级基于 Google 的登录系统,这需要我解码 Google 提供的 id_token
个字符串。这些字符串是有效的,我可以通过以下方式解码它们:https://developers.google.com/wallet/digital/docs/jwtdecoder
但我希望我的服务器在 PHP 中即时执行此操作。
我找到了两个:https://github.com/firebase/php-jwt/tree/master and https://github.com/luciferous/jwt
但我不知道如何使用 PEAR 包。我可以将简单的 PHP 脚本复制到我的服务器,但我发现这两个软件包提供的文档非常有限。有人有关于如何解码这样的字符串的示例代码吗?
如有任何帮助,我们将不胜感激。
如果我没理解错的话,你是想用 PHP 脚本解码 JWT? 如果是这样,也许以下 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);