webentwicklung-frage-antwort-db.com.de

Das Token muss von kurzer Dauer und in einem angemessenen Zeitraum sein

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?

47
wataru

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

99
WNG

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

12
Eddy López

Dasselbe Problem ist aufgetreten ... stelle die Uhr meines Computers manuell auf die aktuelle Uhrzeit zurück ... Problem behoben.

5
Gurdeep Singh

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.

2
ajon

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.

2
Don Ondeje

Es klingt offensichtlich, aber stellen Sie sicher, dass das Ablaufdatum exp nach dem zum Zeitpunkt iat ausgegebenen Datum liegt.

0
Mark Tickner

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.

0
saltandpepper

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.

0
jagath