web-dev-qa-db-ja.com

トークンは短命で、妥当な期間内にある必要があります

this と同じエラーが発生しています。私の場合、アプリがGoogle Cloud Client APIを介してファイルをアップロードしようとしているときに発生しています。

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で。過去1か月間は正常に機能したため、Googleが認証方法を変更したと推測しています。

誰かがこれに直面して解決しましたか?

47
wataru

私はほぼ同時に同じ問題に出くわしたので、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分遅れていたことが原因でした(内部クロックのバッテリーが故障しているため)。コンピューターの内部時刻を正しい時刻に手動で変更すると、再び機能し始めました。

このソリューションは here に言及されましたが、完全なエラーメッセージではありません

99
WNG

同じ問題がありましたが、サーバーが8分遅れていることがわかりました。 NTPサーバーを構成し、魔法のように解決しました

12
Eddy López

同じ問題が発生しました...コンピュータのクロックを現在の時刻に手動でリセットします...問題を解決しました。

5
Gurdeep Singh

私はこれに何時間も困惑しました。私も この質問 を投稿しました。やや明らかだったはずの何かを見落としていたことがわかりました。私の開発サーバーはLinux仮想マシンです。 VMのクロックはローカルシステムクロックの8日遅れでした。したがって、ローカルクロックが正しい間、私のVMは数日だったという事実を見落としました。うまくいけば、これにより、ぼんやりした時間を節約できるでしょう。

2
ajon

Google Cloud Big Query APIにアクセスしようとすると、同様の問題が発生しました。システムクロックを調整し、Windows 10が時間とタイムゾーンを自動的に設定できるようにすることで問題が解決しました。

2
Don Ondeje

当たり前のように聞こえますが、有効期限expiatで発行された後です。

0
Mark Tickner

タイムゾーンではなく、Macの時計を変更したため、このエラーが発生しました。時計の時刻を元に戻し、タイムゾーンを現在のタイムゾーンに変更した後に修正しました。

0
saltandpepper

私は同様の問題があり、私の仕事は以下のエラーで失敗し続けました:

  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サーバーを更新し、問題は解決しました。

0
jagath