- パフォーマンス
- オンプレミス
-
セキュリティ
- ユーザー属性情報の提供方式と、各方式における Authlete の処理方法
- Authlete サービスの JWK セット設定
- OAuth / OIDC クライアントの JWK セット設定
- 既存システムからの移行
- ネットワーキング
- API ゲートウェイとの連携
- クライアントアプリ開発者コンソール
OAuth / OIDC クライアントの JWK セット設定
はじめに
OAuth / OIDC クライアントから受信したリクエストオブジェクトの署名検証や、OAuth /OIDC クライアントに提供する ID トークンの暗号化を行うためには、署名検証・暗号化に用いるためのクライアントの公開鍵を Authlete に登録する必要があります。
本記事では、Authlete サービスに登録されている OAuth / OIDC クライアントの設定に、JWK セットを登録する方法について説明します。
JWK セットの準備
まず、OAuth / OIDC クライアント側で、公開鍵を含む(秘密鍵を含まない)JWK セットを準備します。
ここでは例として、クライアントの管理者が mkjwk.org サービスを用いて、暗号用途の鍵ペアを作成するとします。ここでは以下の通り選択・入力しています。
ここでは例として、クライアントの管理者が mkjwk.org サービスを用いて、暗号用途の鍵ペアを作成するとします。ここでは以下の通り選択・入力しています。
項目 |
値 |
鍵タイプ |
EC (Elliptic Curve) |
曲線 |
P-256 |
鍵の用途 |
暗号 |
アルゴリズム |
(なし) |
鍵の ID |
SHA-256 |
「生成する」ボタンを押下すると、生成された鍵が各種形式にて出力されます。以下では、このうち「公開鍵と秘密鍵を含む JWK Set」を用います。
「公開鍵と秘密鍵を含む JWK Set」の生成
まず、秘密鍵を削除します。上記の例では、元の JWK セットは以下の通りです。

まず、秘密鍵を削除します。上記の例では、元の JWK セットは以下の通りです。
{ "keys": [ { "kty": "EC", "d": "4AEnTq3H8gcIutIoJCCZuv9GgWdKRaoJIXQkdM8r0UA", "use": "enc", "crv": "P-256", "kid": "_agec7UaYVN4c3RZQJQhUuR6nFSnqEXywv3QaIfFRFk", "x": "ilLNQ-Lcp_t5DBs9puJVI3JhwqlMndTILjkBrNd3Dsc", "y": "3Uy7NIHilkOWviGXMRIl2ZUE4L7Mc8ub4VhosE3l8t8" } ] }
このうち、以下を削除します。
"d": "4AEnTq3H8gcIutIoJCCZuv9GgWdKRaoJIXQkdM8r0UA",
その結果、以下のようになります。
{ "keys": [ { "kty": "EC", "use": "enc", "crv": "P-256", "kid": "_agec7UaYVN4c3RZQJQhUuR6nFSnqEXywv3QaIfFRFk", "x": "ilLNQ-Lcp_t5DBs9puJVI3JhwqlMndTILjkBrNd3Dsc", "y": "3Uy7NIHilkOWviGXMRIl2ZUE4L7Mc8ub4VhosE3l8t8" } ] }
この JSON を、クライアントの公開鍵の JWK セットとして用います。
JWK セットの登録
公開鍵の JWK セットを、OAuth / OIDC クライアントの設定に登録します。
クライアントアプリ管理者コンソールにて、当該クライアントの「JWK セット」タブ内にある「JWK セットの内容」に追加します。詳細については「クライアントの設定項目 - JWK セット」をご参照ください。

これにより、OAuth / OIDC クライアントの JWK セットの登録が完了しました。
How did we do with this article?