所以,我从我的使用验证ID令牌使用www.googleapis.com和谷歌API的PHP客户端
GoogleSignInAccount acct = result.getSignInAccount();
String idToken = acct.getIdToken();
Android应用获取的令牌标识。如果我试图验证使用https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=idToken
令牌然后它会成功;我的意思是googleapis.com会返回类似:
{
iss: "https://accounts.google.com",
aud: "12312331-hjs13hbf0j1ge08s7lvepiupiljuokce.apps.googleusercontent.com",
sub: "23432432",
email_verified: "true",
azp: "12312331-nvi4gh28jekfm3e48ofqeh1c5rof2rsa.apps.googleusercontent.com",
email: "[email protected]",
iat: "123213123",
exp: "123213123",
name: "Me Miow",
picture: "https://lh5.googleusercontent.com/-XXXX/AAAAAAAAAAI/XXXX/XXXX/s96-c/photo.jpg",
given_name: "Me",
family_name: "Miow",
locale: "en",
alg: "RS256",
kid: "849996986ecf01a6c8xxxxxxx"
}
但如果使用图书馆https://github.com/google/google-api-php-client和运行idtoken.php码= idToken库从谷歌\ apiclient \例子,它将返回
Fatal error: Uncaught InvalidArgumentException: Invalid token format in /home/meowww/public_html/meniti/vendor/google/apiclient/src/Google/Client.php:423 Stack trace: #0 /home/meowww/public_html/meniti/idtoken.php(65): Google_Client->setAccessToken(Array) #1 {main} thrown in /home/meowww/public_html/meniti/vendor/google/apiclient/src/Google/Client.php on line 423
为什么google-api-php-client会显示错误?
感谢您的解释! – imin
很高兴帮助! – trajchevska