概要 JWTを認証用トークンに使う時に調べたことをまとめます。 JWTとは JWTはJWSやJWEの構造の中にエンコードして埋め込まれるJSON形式のclaimのセットです。 一般的にはJWS形式のJWTが使われるのでそれを前提に進めます。 JWS形式のJWTは以下のフォーマットです。 {base64エンコードしたheader}.{base64エンコードしたclaims}.{署名} 以下の特徴があります。 発行者が鍵を使ってJSONを署名(or HMAC)し、トークンとして扱う。 暗号化ではないので、JSON の中身は誰でも見られる。 発行者は鍵を使ってメッセージの検証ができるので、改竄を検知できる。 以上の点からトークンとして向いているため、認証トークンとして用いられるようになってきました。 Cookieとの認証フロー比較 ref: Cookies vs Tokens. Getting
![JWTを認証用トークンに使う時に調べたこと - Carpe Diem](https://cdn-ak-scissors.b.st-hatena.com/image/square/0063e97fb9e0d1c33a4cb5077b32f1fbc0f9e040/height=288;version=1;width=512/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Ff243882370b661a9cc8f0971c1c314a4c8ea11e3%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttp%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fq%252Fquoll00%252F20160607%252F20160607031916.png)