事象
- rspecで
bigquery-emulator
に対してテストを実行した時に、以下のエラーが発生しました。
Signet::AuthorizationError:
Authorization failed. Server message:
{"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 in the JWT claim."}
原因
- わかってしまえば簡単なのですが、rspecで
travel_to
使って時間を止めてテストしたことです。
travel_to Time.zone.local(2027, 7, 10) do
# 省略
end
- BigQueryはJWT認証を使っているみたいで、
iat
,exp
に時刻が入るので、そこで壊れちゃった感じだと思います。