社内で社外公開用APIを呼び出すツールを動かしているのですが、ある時からツールがまともに動かなくなりまして・・・。
APIの呼び出しで401が返ってきているので渡しているパラメータがおかしいというところまではわかるのですが、
パラメータは社内の別ツールで作成しているものと同じ手順で取得したtokenのはずなので、通らないはずがない・・・。
なんだこれ?
認証でこけているようなんだけど、キーも認証キーもあっていてtokenは取得できている・・・。
もう一度エラーメッセージを見直す
{"status_code":401, "message":"Request Expired", ... }
いや、token取得したばかりのほやほやだからExpiredはおかしいでしょ
なによこれ?なんなの?
まさか!!
●ツールが動いているサーバー
$ date
2020年 2月 5日 水曜日 12:24:30 JST
●APIサーバー
$ date
2020年 2月 5日 水曜日 12:40:30 JST
システムクロックよ、お前か・・・・
原因は「サーバーのシステムクロックがずれていたために、tokenが期限切れ扱いとなっていたため」でした。
ツールが動いているサーバーで以下のコマンドを実行すると正常稼働しました
sudo ntpdate ntp.nict.jp
本当はntp同期しておくべきだけど、とりあえず。