Подтвердить что ты не робот

Токен должен быть кратковременным токеном и в разумные сроки

У меня такая же ошибка, как эта. В моем случае это происходит, когда приложение пытается загрузить файл через 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

Я загружаю токен, читая файл json служебной учетной записи и прикрепляя его к CURLOPT_HTTPHEADER в PHP. Он действительно работал в течение последнего месяца, поэтому я предполагаю, что Google изменил способ авторизации.

Кто-нибудь сталкивался и решил это?

4b9b3361

Ответ 1

Я наткнулся на ту же проблему примерно в одно и то же время, поэтому я ожидал общую ошибку Google, но вот что произошло на моем компьютере:

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

был вызван в моем случае плохой синхронизацией компьютерных часов, где был выполнен код, который имел задержку в 5 минут (из-за неисправной батареи для внутренних часов). Он снова начал работать, когда я вручную изменил внутреннее время моего компьютера на правильное.

Это решение было упомянуто здесь, но не с полным сообщением об ошибке

Ответ 2

У меня была такая же проблема, я обнаружил, что мой сервер был задержан на 8 минут. Я сконфигурировал NTP-сервер и волшебным образом был решен

Ответ 3

Такая же проблема возникла.... вручную reset мои компьютерные часы до текущего времени.... проблема решена.

Ответ 4

Я был озадачен этим часами. Я даже разместил этот вопрос. Оказывается, я упустил из виду то, что должно было быть несколько очевидным. Мой dev-сервер - это виртуальная машина Linux. Часы на моей виртуальной машине были на 8 дней раньше, чем часы моей локальной системы. Поэтому, хотя мои локальные часы были правильными, я упустил из виду тот факт, что моя виртуальная машина была задержана на несколько дней. Надеюсь, это может сэкономить рассеянному время.

Ответ 5

У меня была похожая проблема при попытке получить доступ к API больших запросов Google Cloud. Настройка моих системных часов и разрешение Windows 10 автоматически устанавливать время и часовой пояс решили проблему.

Ответ 6

У меня была подобная проблема, и моя работа продолжала терпеть неудачу с ошибкой ниже:

  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.

Фактическая причина была в том, что системное время было не синхронизировано с сервером. Я обновил сервер ntp, который синхронизировал время, и проблема была решена.

Ответ 7

Я получил эту ошибку, потому что я изменил свои часы Mac, но не часовой пояс. Исправил это после того, как я повернул время часов и изменил часовой пояс на часовой пояс, в котором я сейчас нахожусь.

Ответ 8

Это звучит очевидно, но убедитесь, что срок действия exp истекает после времени выпуска iat.

Ответ 9

У меня была такая же проблема. Просто запуск ntpdate ntp.ubuntu.com работал на меня. Спасибо.. !!