授权 google 服务端OAuth 2.0,如何查看token?
Authorization google OAuth 2.0 on the server side, how to check the token?
我无法在服务器端验证用户令牌 ID。参考了 Google 的指南
https://developers.google.com/identity/sign-in/web/backend-auth
在 JS 中,我获取了 id 令牌并将其发送到服务器
var googleUser = auth2.currentUser.get(),
id_token = googleUser.getAuthResponse().id_token;
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://api.site.loc//tokensignin');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
console.log('Signed in as: ' + xhr.responseText);
};
xhr.send('idtoken=' + id_token);
我在服务器上接受
$CLIENT_ID = '.apps.googleusercontent.com';
$id_token = $formData['idtoken'];
$client = new Google_Client(['client_id' => $CLIENT_ID]);
$payload = $client->verifyIdToken($id_token);
if ($payload) {
$userid = $payload['sub'];
// If request specified a G Suite domain:
//$domain = $payload['hd'];
} else {
// Invalid ID token
}
结果我得到了这个错误,而不是确认令牌
<b>Fatal error</b>: Uncaught exception 'LogicException' with message 'id_token must be passed in or set as part of setAccessToken' in \google-api-php-client\src\Google\Client.php:717
错误是由于 $id_token
为空 (null)。
所以如果你有这样的问题,请检查 $id_token
是否正确
感谢 John Hanley 的帮助
我无法在服务器端验证用户令牌 ID。参考了 Google 的指南 https://developers.google.com/identity/sign-in/web/backend-auth
在 JS 中,我获取了 id 令牌并将其发送到服务器
var googleUser = auth2.currentUser.get(),
id_token = googleUser.getAuthResponse().id_token;
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://api.site.loc//tokensignin');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
console.log('Signed in as: ' + xhr.responseText);
};
xhr.send('idtoken=' + id_token);
我在服务器上接受
$CLIENT_ID = '.apps.googleusercontent.com';
$id_token = $formData['idtoken'];
$client = new Google_Client(['client_id' => $CLIENT_ID]);
$payload = $client->verifyIdToken($id_token);
if ($payload) {
$userid = $payload['sub'];
// If request specified a G Suite domain:
//$domain = $payload['hd'];
} else {
// Invalid ID token
}
结果我得到了这个错误,而不是确认令牌
<b>Fatal error</b>: Uncaught exception 'LogicException' with message 'id_token must be passed in or set as part of setAccessToken' in \google-api-php-client\src\Google\Client.php:717
错误是由于 $id_token
为空 (null)。
所以如果你有这样的问题,请检查 $id_token
是否正确
感谢 John Hanley 的帮助