はじめに
アプリをherokuにデプロイし、ログイン機能を使用しようとしたところ、このようなエラーが出ました
JWT::DecodeError (No verification key available)
この解決方法を共有いたします。
結論
herokuにマスターキーを登録するのを忘れてたので、追加しました。
heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
発生状況
ログイン認証でJWTを使って、デコードする際に、Rails.application.credentials.secret_key_base
を使っています。
この値がnilとなっており、エラーが発生しておりました。
def decode(token)
JWT.decode token, Rails.application.credentials.secret_key_base
end
そもそもこれは、credentials.yml(公開鍵)の値をmaster.key(秘密鍵)を使って取得しているようです。
ですので、herokuにもマスターキーを登録する必要がありました。