JWT
じぇいだぶりゅーてぃー
JWT
一言でいうと
改ざん検知できる「ユーザー情報入りの引換券」をクライアントに持たせる仕組みのこと。
詳しい意味
JWT(JSON Web Token、ジョットとも読む)は、ユーザー情報やアクセス権をJSONで表し、署名を付けてクライアント側に持たせるトークン形式です。サーバーは署名を検証することで、改ざんされていないことを確認できます。「ヘッダ.ペイロード.署名」の3パートをドット区切りで連結した文字列形式が特徴。ステートレス認証(サーバーがセッションを保持しない)に使われ、APIサーバーの水平スケールが容易になる利点があります。一方、無効化(ログアウト直後の即時失効)が難しい、サイズが大きいなどのトレードオフもあります。
何に使うか
サーバーがセッション状態を持たない API 認証を実装したいとき。マイクロサービス間で認証情報を共有したいとき。OAuth / OIDC のアクセストークンとして発行するとき。
どんな時に出るか
「JWTを発行」「JWT検証ミドルウェア」「JWTの有効期限を短く」といった場面で登場します。
具体例
- API認証を JWT に切り替え、認証サーバーをステートレス化した。
- JWT の有効期限は短く、リフレッシュトークンで再発行する設計にしている。
別名・略称
jwt(じぇいだぶりゅーてぃー)JSON Web Token(じぇいそんうぇぶとーくん)ジョット(じょっと)
初心者向けメモ
改ざん検知付きの引換券のようなものです。映画館の半券に「この人は18:00の○○館に入場可」と印字+偽造防止の印が押してあれば、再発行手続きしなくても受付で照合できます。JWTはこの仕組みをデジタルで実現します。