HOME > 技術レポート > セキュリティ > OAuth2・OpenID ConnectにおけるJWTの利用

2019年10月16日

OAuth2・OpenID ConnectにおけるJWTの利用

OAuth2・OpenID ConnectにおけるJWTの利用方法を説明する。

1.概要

認証プロトコルであるOpenID Connectで使われるJWTについて解説する。

2.JWTとは

OpenIDConnectにおけるIDトークンのJWS (JSON Web Signature)形式のデータである。

  • JWS:JSONに電子署名をしてURL-safeな文字列として表現したもの
  • 認可サーバ上の秘密鍵で利用して電子署名し、リソースサーバ(含API Gateway)が公開鍵を持っておき署名を検証する。
  • Base64(Header).Base64(Payload).Base64(Signature)

    ※Payloadのサブジェクト (sub) クレームは、ユーザーのプリンシパル名および固有セキュリティー名であるため実質的にはログイン済ユーザを表す。

トークンタイプ

JWTにはクレーム (claim) と呼ばれる項目がある。
その中に"typ"(トークンタイプ)というクレームがあり、それぞれ以下の意味である。
トークンタイプ.png

クレーム

ID トークンに含まれるクレーム(ユーザー属性情報群)は以下の通り。
【IDトークン内のクレーム情報】
クレーム.PNG

3.ID Tokenのデコードサイト

以下のID TokenのデコードサイトでID Tokenをデーコードして内容を確認する事が可能。


【実際のデーコードした値】
IDTokenのデコードサイト.png