web-dev-qa-db-fra.com

Le jeton doit être un jeton éphémère et dans un délai raisonnable

J'ai la même erreur que this . Dans mon cas, cela se produit lorsque l'application tente de télécharger un fichier via l'API Google Cloud Client.

POST https://www.googleapis.com/oauth2/v4/token
400 Bad Request
Invalid JWT: Token must be a short-lived token and in a reasonable timeframe

Comment je charge le jeton lit un fichier json du compte de service et le joint à CURLOPT_HTTPHEADER en PHP. Cela fonctionnait correctement depuis un mois, alors je suppose que Google a changé le mode d’autorisation.

Quelqu'un at-il affronté et résolu cela?

47
wataru

Je suis tombé sur le même problème à peu près au même moment, donc je m'attendais à un bogue générique de Google, mais voici ce qui s'était passé sur mon ordinateur:

raise HttpAccessTokenRefreshError(error_msg, status=resp.status)
oauth2client.client.HttpAccessTokenRefreshError: invalid_grant: Invalid JWT: Token must be a short-lived token and in a reasonable timeframe

a été causée dans mon cas par une mauvaise synchronisation de l'horloge de l'ordinateur où le code a été exécuté avec un décalage de 5 minutes (en raison d'une batterie défectueuse pour l'horloge interne). Il a recommencé à fonctionner lorsque j'ai modifié manuellement l'heure interne de mon ordinateur.

Cette solution a été mentionnée ici , mais pas avec le message d'erreur complet

99
WNG

J'ai eu le même problème, j'ai constaté que mon serveur a été retardé de 8 minutes. J'ai configuré le serveur NTP) et, comme par magie, le problème a été résolu.

12
Eddy López

Même problème rencontré .... réinitialise manuellement l'horloge de mon ordinateur sur l'heure actuelle .... problème résolu.

5
Gurdeep Singh

Je suis resté bouche bée pendant des heures. J'ai même posté cette question . Il s'avère que j'avais oublié quelque chose qui aurait dû être un peu évident. Mon serveur de développement est une machine virtuelle Linux. L’horloge de mon VM avait 8 jours de retard sur mon horloge système locale. Ainsi, bien que mon horloge locale soit correcte, j’ignorais le fait que mon VM était plusieurs jours Si tout va bien, cela peut faire gagner un peu de temps à l’esprit distrait.

2
ajon

J'ai eu un problème similaire lors de la tentative d'atteindre l'API de requête volumineuse google cloud. Le réglage de mon horloge système et le fait de permettre à Windows 10 de régler automatiquement l’heure et le fuseau horaire ont résolu le problème.

2
Don Ondeje

Cela semble évident, mais assurez-vous que l’expiration exp est postérieure à l’émission au moment iat.

0
Mark Tickner

J'ai eu cette erreur parce que j'avais changé l'horloge de mon Mac, mais pas le fuseau horaire. Correction du problème après avoir inversé l'heure de l'horloge et modifié le fuseau horaire pour celui dans lequel je me trouve actuellement.

0
saltandpepper

J'ai eu le même problème et mon travail échouait avec l'erreur ci-dessous:

  File "/usr/local/lib/python2.7/site-packages/google/oauth2/_client.py", line 59, in _handle_error_response
    error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems.', u'{\n  "error" : "invalid_grant",\n  "error_description" : "Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems."\n}')
2018-05-1713:01:01:  API CALL iOS intra day: module failed.

La cause principale était que l'heure du système n'était pas synchronisée avec le serveur. J'ai actualisé le serveur ntp qui a synchronisé l'heure et le problème a été résolu.

0
jagath