2016-07-24 1 views
0

So abgerufen ich die Token-ID aus der Liste meiner android appÜberprüfen der ID-Token www.googleapis.com mit und google-api-php-Client

GoogleSignInAccount acct = result.getSignInAccount(); 
String idToken = acct.getIdToken(); 

mit der Wenn ich versuchte, das Token zu verifizieren https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=idToken

mit

dann wird es erfolgreich sein; Ich meine googleapis.com zurückkehren würde so etwas wie:?

{ 
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]l.com", 
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" 
} 

Aber wenn die Bibliothek https://github.com/google/google-api-php-client verwenden und die idtoken.php laufen code = idToken Bibliothek von Google \ apiclient \ examples würde es zurückgeben

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 

Warum sollte der Google-API-Client einen Fehler anzeigen?

Antwort

2

Der Wert $_GET['code'] ist ein eindeutiger Wert, der von Google zurückgegeben wird, nachdem ein Benutzer authentifiziert wurde. Es ist anders als die id_token, deshalb erhalten Sie die InvalidArgumentException. Das Beispiel, das Sie betrachten, ist ein Auth-Beispiel, das alle erforderlichen Schritte zum Abrufen eines ID-Tokens umfasst. Wenn Sie dieses Token bereits besitzen und es auch auf der Backend-Seite verifizieren möchten, können Sie alle diese Schritte überspringen und direkt zur Bestätigung gehen. Das ist:

Ich glaube, Sie müssen Offline-Zugriff aktiviert haben, um dies zu ziehen.

+0

Danke für die Erklärung! – imin

+0

Froh, dass es geholfen hat! – trajchevska

Verwandte Themen