Authlete サービスの JWK セット設定

はじめに


本記事では、サービスに JWK セットを登録する方法について説明します。

JWK セットの準備


まず何らかの方法により、JWK セットを用意します。以下は mkjwk.org サービスを用いて ES256 の鍵ペアを作成する例です。ここでは以下の通り選択・入力しています。

  • 鍵タイプ: EC (Elliptic Curve)
  • 曲線: P-256
  • 鍵の用途: Signing
  • アルゴリズム: ES256
  • 鍵の ID: 1

サービス管理者コンソール経由での JWK セットの登録


生成された "公開鍵と秘密鍵を含む JWK Set" を、対象サービス設定の「JWK Set (JWK セット)」にある「JWK Set Content (JWK セットの内容)」の項目に追加し、「更新」ボタンを押下します。
JWK Set Content

これにより、サービスへの JWK セットドキュメントの登録が完了しました。

Authlete API 経由での JWK セットの登録


前述の Web ベースの管理者コンソールを用いる代わりに、Authlete のサービス管理 API を用いて JWK セットを登録することも可能です。以下は /service/update API にリクエストする例です。"jwks" キーの値として JWK セットを指定しています。

curl -X POST {Authlete API}/service/update/{Service API Key} \
-u {Service Owner API Key}:{Service Owner API Secret} \
-H 'content-type: application/json' \
-d '{ "jwks": "{\"keys\":[{\"kty\":\"EC\",\"d\":\"eb4BggIO87SUjzP1M56MeXj0NQajWBwpwiDq8yoL5n4\",\"use\":\"sig\",\"crv\":\"P-256\",\"kid\":\"2019-07-25_02\",\"x\":\"f8a6jovcRTNLDWi3_c62YcW_3ZN-GH1RkiVOZgSgIYI\",\"y\":\"EB3R8W12a3tgZfNer1RP0DizT3qpRybGw_krfsE0JzY\",\"alg\":\"ES256\"}]}"}'
How did we do with this article?