J'ai obtenu les terminaux google cloud fonctionnant avec une application et un backend Android écrits dans le moteur de l'application python. Lorsque j'ai désinstallé et réinstallé mon application pendant le développement, j'ai commencé à rencontrer une erreur 401 du backend. C'est sans aucun changement dans le backend après que je l'ai eu à travailler la première fois. Ainsi,La vérification d'id_token a échoué: signature de jeton non valide: dans les terminaux google cloud
Je nettoyé debug.keystore fichier dans C: \ Users \ nom d'utilisateur \ .android et également d'autres fichiers dans le même directory.Regenerated le fichier de debug.keystore à nouveau et a obtenu la nouvelle empreinte SHA1
supprimé le projet API dans la console google apps et régénérée web cLIENT_ID & android client_id avec une nouvelle empreinte SHA1
occasion le nouveau client_id Web et Android client_id dans le code côté serveur
aussi mis à jour Android cliend_id portée du public dans le code Android
Après avoir installé l'application maintenant, voir toujours la même erreur 401. Mes journaux moteur app montrer,
I 2013-04-07 16:45:27.297 Checking for id_token.
W 2013-04-07 16:45:27.299 id_token verification failed: Invalid token signature: eyJhbGciOiJSUzI1NiIsImtpZCI6IjMzMTJkNDc0ZWUzNWRjNWU4YzFhMDE4OTkzOGZkN2E3YmUzYmRlZjYifQ.eyJpc3Mi
I 2013-04-07 16:45:27.299 Checking for oauth token.
Je suis en mesure de recueillir plus d'informations basé sur Cloud endpoints oauth2 error et http://android-developers.blogspot.com/2013/01/verifying-back-end-calls-from-android.html,
Je décodées le id_token étant envoyé au serveur app_engine et a constaté qu'il a ces champs,
cid = Android app client_id that I registered in app console for
azp = Android app client_id
aud = web client_id for App engine
iss = accounts.google.com
verified_email = true
email_verified = true
email = account i selected in account picker in android app
exp = a datetime having a value in the future
first_segment = {u'alg': u'RS256', u'kid': u'3312d474ee35dc5e8c1a0189938fd7a7be3bdef6'}
Les valeurs ci-dessus semblent correctes, mais id_verification échoue. Pas certain de pourquoi.
A eu le problème à nouveau. Ça arrive, quand je réinstalle mon application après la désinstallation. Le service de points Cloudend a généré une erreur de jeton non valide. Utilisé le jeton et vérifié en utilisant l'URL. Obtenez une sortie comme ci-dessous, ce qui signifie que le jeton est valide.
"issuer": "accounts.google.com",
"issued_to": "172895167251-1prp5r093hf2nro5bei2cmc1tqf4aasdu.apps.googleusercontent.com",
"audience": "172895167251.apps.googleusercontent.com",
"user_id": "myuserid",
"expires_in": 3086,
"issued_at": 1365644284,
"email": "emailIselectedinadroidapp",
"verified_email": true
Il semble fonctionner très bien maintenant. Je n'obtiens pas l'erreur Échec de la vérification de l'ID. Je n'ai rien fait, ça a simplement commencé à fonctionner comme par magie. Peut-être que c'est un problème de mise en cache sur le côté google. – plspl
Un problème est survenu, https: //code.google.com/p/googleappengine/issues/detail? Id = 9188 – plspl