JWT: Invalid signature
JWTトークンの署名検証に失敗した際のエラー原因と解決策
概要
JWTトークンの署名が秘密鍵と一致しない場合に発生するエラーです。
エラーメッセージ
JsonWebTokenError: invalid signature
原因
- 秘密鍵の不一致: 署名時と検証時で異なる鍵
- アルゴリズムの不一致: HS256 vs RS256等
- トークンの改ざん: ペイロードが変更された
- 環境間の鍵の違い: 開発と本番で異なる鍵
解決策
1. 秘密鍵を確認
| |
2. アルゴリズムを明示
| |
3. RS256(公開鍵/秘密鍵)の場合
| |
4. 環境変数を統一
| |
5. デバッグ方法
| |
| |
オンラインツール:
- jwt.io - JWTのデコードと検証
よくある間違い
- 秘密鍵をハードコード
- none アルゴリズムを許可
- Base64エンコードの有無の不一致
関連エラー
関連エラー
Security の他のエラー
この記事は役に立ちましたか?