JWT(JSON Web Token)とは
読み:じょっと
情報を署名付きでやり取りするためのトークン形式。ヘッダ・ペイロード・署名の3部からなる。
JWT(JSON Web Token、ジョット)は、利用者の情報などを安全にやり取りするための、コンパクトなトークンの形式です。主にWebサービスのログイン状態の保持(認証・認可)に使われます。サーバーが発行し、利用者がリクエストのたびに提示します。
JWTは「ヘッダ」「ペイロード(中身のデータ)」「署名」の3つを、ドット(.)でつないだ文字列です。各部はBase64URLでエンコードされており、ヘッダとペイロードは誰でもデコードして中身を読めます(暗号化ではありません)。署名によって、改ざんされていないことを検証できます。
中身は読めるため、パスワードなど秘密情報は入れません。署名の検証には秘密鍵(または公開鍵)を使います。有効期限を設け、漏えい時のリスクを抑える運用が基本です。デコーダーで中身や有効期限を確認できます。