Ich habe den gleichen Fehler wie this . In meinem Fall geschieht dies, wenn die App versucht, eine Datei über die Google Cloud Client-API hochzuladen.
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
Wie ich das Token lade, liest eine Dienstkonto-JSON-Datei und hängt sie an CURLOPT_HTTPHEADER
in PHP. Es hat in den letzten Monaten einwandfrei funktioniert, daher schätze ich, dass Google die Art der Autorisierung geändert hat.
Hat jemand dieses Problem gelöst?
Ich bin ungefähr zur gleichen Zeit auf dasselbe Problem gestoßen, also habe ich einen allgemeinen Bug von Google erwartet, aber hier ist, was auf meinem Computer passiert ist:
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
wurde in meinem Fall durch eine schlechte Synchronisation der Computeruhr verursacht, bei der der Code mit einer Verzögerung von 5 Minuten ausgeführt wurde (aufgrund eines defekten Akkus für die interne Uhr). Es hat wieder funktioniert, als ich die interne Zeit meines Computers manuell auf die richtige umgestellt habe.
Diese Lösung wurde erwähnt hier , aber nicht mit der vollständigen Fehlermeldung
Ich hatte das gleiche Problem, ich stellte fest, dass mein Server um 8 Minuten verzögert war. Ich habe den NTP Server konfiguriert und es wurde auf magische Weise gelöst
Dasselbe Problem ist aufgetreten ... stelle die Uhr meines Computers manuell auf die aktuelle Uhrzeit zurück ... Problem behoben.
Ich war stundenlang verblüfft. Ich habe sogar geschrieben diese Frage . Es stellte sich heraus, dass ich etwas übersehen hatte, was etwas Offensichtliches hätte sein sollen. Mein Entwickler-Server ist eine virtuelle Linux-Maschine. Die Uhr auf meiner VM lag 8 Tage hinter meiner lokalen Systemuhr. Während meine lokale Uhr also korrekt war, übersah ich die Tatsache, dass meine VM mehrere Tage betrug Das kann hoffentlich Abwesenden Zeit sparen.
Ich hatte ein ähnliches Problem beim Versuch, die Google Cloud Big Query API zu erreichen. Das Problem wurde behoben, indem ich die Systemuhr anpasste und Windows 10 erlaubte, die Zeit und die Zeitzone automatisch einzustellen.
Es klingt offensichtlich, aber stellen Sie sicher, dass das Ablaufdatum exp
nach dem zum Zeitpunkt iat
ausgegebenen Datum liegt.
Ich habe diesen Fehler erhalten, weil ich die Uhr meines Mac geändert habe, aber nicht die Zeitzone. Es wurde behoben, nachdem ich die Uhrzeit zurückgesetzt und die Zeitzone in die Zeitzone geändert habe, in der ich mich gerade befinde.
Ich hatte ein ähnliches Problem und mein Job schlug mit folgendem Fehler immer wieder fehl:
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.
Die eigentliche Ursache war, dass die Systemzeit nicht mit dem Server synchronisiert war. Ich habe den NTP-Server aktualisiert, der die Uhrzeit synchronisiert hat, und das Problem wurde behoben.