JWT認証、便利だしDBに状態持たないのでRESTfulだしめちゃ便利です。 今回はトークン生成、検証と脆弱性についてまとめました。 ざっくりまとめてるので網羅してないし説明不足な部分もあります。 JWTトークン生成の仕組み まずはトークン生成から。 フロントエンド側はユーザー・パスワードを送信バックエンド側はユーザー・パスワードが正しいかを検証しユーザー情報取得DBにユーザー情報が保存されてる前提で進めますパスワードはハッシュ化などしてくださいユーザー情報からpayloadを作成ユーザーIDなどが一般的payloadはデコードが容易なのでパスワードなどの機密情報は入れないハッシュ化するアルゴリズムなどの設定値を指定したヘッダーを作成ヘッダー・payloadをBase64エンコードするデコード可能5の値をバックエンド側が保持している秘密鍵でハッシュ化・署名5の値(ヘッダー、payload)