JWT の変更点


#author("2023-03-25T15:19:16+09:00","default:k1rou","k1rou")
#author("2023-03-25T20:58:23+09:00","default:k1rou","k1rou")
*JWT [#je2d1ca1]
**名称 [#kec0e2e3]
-JSON Web Token
-呼称「ジョット」

**概要 [#n432fbfd]
-RFC7519
-データの形式

*JWT の仕様 [#k32ced24]
**JWTの構成 [#t81bfc0d]
-ヘッダ
-ペイロード
-署名 ※[[JWS]](署名付きJWT)の場合のみ

**表現形式 [#n8a4854d]
-ピリオド区切り
--Header.Payload
--Header.Payload.Signature ※[[JWS]](署名付きJWT)の場合

-Header
--[[Base64url]]でエンコードされた[[JSON]]
-Payload
--[[Base64url]]でエンコードされた[[JSON]]
-Signature
--「Header.Payload」を[[Base64url]]エンコード →署名 →[[Base64url]]エンコード
--IdPの秘密鍵を使って署名を行う
--ユーザ情報を含む。署名付き(改ざん検知)

**署名アルゴリズム [#m25e5292]
-[[RS256]]
-[[HS256]]
-[[ES256]]
-[[PS256]]

*JWTの種類 [#a94a40b0]
**JWS [#j812e2fc]
-[[JWS]]
-JSON Web Signature
-https://tools.ietf.org/html/draft-jones-json-web-signature-02
-RFC7515
-署名付きJWT

**JWE [#p20328e8]
-JSON Web Encryption
-JWTのデータの[[暗号化]]

*JWTの活用例 [#w886b8f8]
-IDトークン
--[[OpenID Connect]]

*関連サイト [#mb9417df]
-JWT - Auth0~
https://jwt.io/
--JWTを入力してデコードすることができる

*関連用語 [#jbd712a5]
-[[認証]]
-[[デジタル署名]]
-[[SAML]]
-[[OpenID Connect]]
-JWK (JSON Web Key)
-[[JWK]] (JSON Web Key)
-JAR
--JWT保護認可要求
-PAR
--Pushed Authorization Request
-RAR
--Rich Authorization Request