Slide 14
Slide 14 text
はじめに ~そもそもJWTの検証とは~
2 ユーザーのAPIへのアクセスを制限
そもそもJWTの検証とは??
1. JWTが整形式である事の確認
2.JWTの電子署名の確認
3.標準クレームの確認
4.権限の確認
参考:
JWTとは: https://auth0.com/docs/tokens/reference/jwt/jwt-structure
IDトークンについて :https://auth0.com/docs/tokens/id-tokens
JWTの検証について詳細 :https://auth0.com/docs/tokens/guides/jwt/validate-jwt
JWTの電子署名について :https://dev.classmethod.jp/server-side/json-signing-jws-jwt-usecase/
Auth0
JWTに秘密鍵で署名
(ログインに必要な JWTは秘密鍵を持って
いるauth0しか作れない )
クライアント
署名が適切か公開鍵 (jwk)で検証
(発行者がauth0かとか書き換えられていないかとか )
(公開鍵なので検証は誰でも行うことができる )
JWTの形式のルールがある
JWTの書き換えがされてないか
トークンの有効期限 (exp), トークン発行者の確認 (iss)
電子署名
署名アルゴリズム: RS256 APIs定義時に設定可能
RS256: 非対称アルゴリズム
署名の生成と検証に異なる鍵
HS256: 対称アルゴリズム
署名の生成も検証も同じ鍵
JWTとは
ヘッダ-,ペイロード,署名の三つからな
る
Base64urlエンコード文字列がドット
で三つに区切られている
署名済みJWT