#[[Security/Authentication]]

JWT

JSON Web Token

#Security/Authentication

トークン自体の情報(例: 期限)を自身で構造化して保持することで、共有データベースへ保持・検索をする必要がないトークン。トークンが自身の情報を持つことで外部からのトークン取り消しのような操作はできない

JWTは.によって3つのセクションの文字列に分割できる(署名がない場合3つ目のセクションは空)

それぞれのセクションの文字列は構造化されたJSONBase64URLエンコードした結果となっている

ヘッダー

1つ目のセクションはヘッダーとして以下のような構造を持つ

{
    "typ": "JWT",
    "alg": "RSA256"
}

algで指定する署名アルゴリズムは3つ目の署名セクションの解読にて用いる

ペイロード

2つ目のセクションはトークン自体のペイロードになる。ペイロードの中身はJSONであれば自由だが、JWTクレームと呼ばれる役割が明示・明示された項目群が存在する。

例として iss(発行者)、sub(対象者)、exp(有効期限)などがある

署名

3つ目のセクションはHMACRSAのような署名アルゴリズムを使った結果が保持される


RFC 7519 - JSON Web Token (JWT)

neighbourhood

Ambassador Edge Stack Ambassador Edge … Base64 Base64 Device Cookies Device Cookies HMAC HMAC JSON JSON JWKS JWKS Kubernetesパターン 第2版 Kubernetesパターン 第… OAuth徹底入門 OAuth徹底入門 OIDC OIDC RSA RSA go-oidc go-oidc クラウドネイティブで実現する マイクロサービス開発・運用 実践ガイド クラウドネイティブで実現する マ… デジタルアイデンティティのすべて デジタルアイデンティティのすべて デジタル署名 デジタル署名 マスタリングAPIアーキテクチャ マスタリングAPIアーキテクチャ Istio/RequestAuthentication RequestAuthentic… Kubernetes/ServiceAccount ServiceAccount JWT

backlinks · 12

links · 5