Token doit être de courte durée et dans un délai raisonnable

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

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 token est en train de lire un fichier JSON de compte de service, et de le joindre à CURLOPT_HTTPHEADER en PHP. Cela a fonctionné correctement au cours du dernier mois, donc je suppose que Google a changé le mode d'autorisation.

est-ce que quelqu'un a fait face et résolu ceci?

41
demandé sur Machavity 2016-03-24 01:06:27

7 réponses

je suis tombé sur la même question à peu près au même moment, donc je m'attendais à un bug générique de Google, mais voici ce qui s'est 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é dans mon cas par une mauvaise synchronisation de l'horloge de l'ordinateur où le code a été exécuté qui avait un retard de 5 minutes (en raison d'une batterie défectueuse pour l'horloge interne). Il a recommencé à fonctionner quand j'ai changé manuellement l'heure interne de mon ordinateur pour la bonne.

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

84
répondu WNG 2017-05-23 12:26:32

j'ai eu le même problème, j'ai trouvé que mon serveur a été retardé de 8 minutes. J'ai configuré le serveur NTP et magiquement il a été résolu

10
répondu Eddy López 2016-05-04 21:46:44

même problème rencontré....réinitialiser manuellement mon horloge de l'ordinateur à l'heure actuelle....problème résolu.

3
répondu Gurdeep Singh 2016-11-07 15:26:48

j'ai été coincé avec ça pendant des heures. J'ai même posté cette question . S'avère que j'avais oublié quelque chose qui aurait dû être évident. Mon serveur dev est une machine virtuelle Linux. L'horloge de ma VM était 8 jours derrière l'horloge de mon système local. Alors que mon horloge locale était correcte, j'ai négligé le fait que ma VM avait plusieurs jours de retard. Avec un peu de chance, cela peut sauver le temps absent-minded.

1
répondu ajon 2018-01-02 10:20:41

j'ai eu le même problème et mon travail continuait à échouer avec une erreur inférieure:

  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.

donc la cause principale était que le temps système n'était pas synchronisé avec le serveur. J'ai donc rafraîchi le serveur ntp qui synchronisait le temps et le problème a été résolu.

J'espère que ça aidera quelqu'un.

0
répondu jagath 2018-05-17 22:43:12

j'ai eu un problème similaire en essayant d'atteindre l'API big query de google cloud. Le fait de régler mon horloge système et de permettre à windows 10 de régler automatiquement l'heure et le fuseau horaire a résolu le problème.

0
répondu Don Ondeje 2018-06-16 09:05:59

j'ai eu cette erreur parce que j'avais changé L'horloge de mon Mac, mais pas le fuseau horaire. Je l'ai réparé après avoir inversé l'Heure de l'horloge, et changé le fuseau horaire pour le fuseau horaire dans lequel je suis actuellement.

0
répondu saltandpepper 2018-09-18 06:32:32