私は Googleのphp apiクライアント を使用しています。サービスアカウントの クイックスタートガイド を実行しています。私は手順を完全に実行しました(私の知る限り)。次のエラーが発生しています。
{
"error": "invalid_grant",
"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."
}
私がこのエラーで最も一般的な問題を読んだことから、システム時刻が間違っているかどうかです。私は自分のタイムゾーンと日付と時刻が原子時計と同期していることをトリプルチェックしました。 php set timezone関数を使用して自分のタイムゾーンをコンピューターに一致するように設定しましたが、引き続きエラーが発生します。 iatとexpの設定に関するメッセージの他の部分を調べていますが、まだどこにも届いていません。
誰かが私がこれを乗り越える方法について何か考えを持っていますか?
Invalid_grant エラーには2つの一般的な原因があります。
ワオ!!!これは本当に愚かなことになった。私は開発サーバーとしてLaravelのHomesteadを実行しています。私は主に私のVMとローカルマシンのクロックが同期されることを想定していました。少なくとも作成時には。推測)、このコンピューターが休止状態の間、VMのクロックが実行されていなかったか、クロックが同期されていませんでした。それにもかかわらず、問題は、私のvmのクロックがシステムクロックより約9日遅れていることです。これが問題の原因でした。
ローカルで実行する場合は、コンピューターのタイムゾーンを確認してください。私にとっては問題でした。この場合の最善の解決策は、自動に設定することです。
システム時間を一度確認してください。 Windowsが最新のタイムゾーンを更新できなかったため、デュアルブートしている可能性があります。設定でもう一度更新して、魔法を見てください。
なぜその依存関係なのかわからないが、それはそれがどのように行われるかです!
ıサーバーへのソリション変更タイムゾーンが見つかりました。
date
Output:
Wed Apr 26 17:44:38 UTC 2017
その後
timedatectl list-timezones
Sudo timedatectl set-timezone America/New_York
Output:
Wed Apr 26 13:55:45 EDT 2017