For Authlete 2.x documentation, see 2.x version.
はじめに
リクエストオブジェクト は、一連のリクエストパラメーターを Claims として含む JWT です。 リクエストオブジェクトは、改ざんや意図しないデータ漏洩を防ぐために、署名を付けたり暗号化したりすることができます。また、値ではなく参照によって渡すこともでき、これにより(ブラウザーのリダイレクトを介した)認可リクエストのサイズを小さくできます。 本記事では、リクエストオブジェクトを用いた認可リクエストに Authlete が対応するための設定手順を説明します。設定
Authlete サービスがリクエストオブジェクトを用いた認可リクエストを処理できるようにするには、サービスがオブジェクトの署名を検証できるよう、次の 2 つのプロパティを設定する必要があります。- リクエストオブジェクトに使用される署名アルゴリズム
- 指定した署名アルゴリズムに対応する公開鍵
- リクエストオブジェクトの暗号化
- 「request_uri」の利用

1. 署名アルゴリズムの指定
クライアント設定において、左ペインの「エンドポイント」→「認可」を選択し、次に右ペインの「リクエストオブジェクト」タブを選択します。そして「リクエストオブジェクト」セクションにおいて、「署名アルゴリズムを選択」をクリックします。次の例は「ES256」を選択した場合の結果を示しています。
「リクエストオブジェクト」の署名アルゴリズム
2. 公開鍵の登録
クライアント設定において、左ペインの「キーマネジメント」→「JWK セット」を選択します。そして、「JWKセットの内容」セクションに JWK 形式の公開鍵を登録するか、「JWKセットエンドポイントURI」に URI を指定します。次の例は ES256 の公開鍵を登録した場合の結果を示しています。
JWKセットの内容
上記の設定により、設定済みのクライアントがリクエストオブジェクトを含む認可リクエストを送信すると、Authlete サービスは署名アルゴリズムによって決定される公開鍵を使用してオブジェクトの署名を検証し、後続の処理を進めます。
オプション: 暗号化アルゴリズムの指定
暗号化されたリクエストオブジェクトを利用したい場合は、「リクエストオブジェクト」タブの「リクエストオブジェクト」セクションにある「Encryption Algorithm」と「Encryption Encoding Algorithm」に、適切な値を指定します。\
オプション: request_uri の値の登録
クライアントが request(値渡し)ではなく request_uri(参照渡し)で認可リクエストを送信できるように、「リクエストオブジェクト」タブの「リクエストURI」セクションに適切な値を追加します。
例
API のリクエスト / レスポンスの例は次のとおりです。(読みやすくするために折り返しています)リクエスト
クライアント: リクエストオブジェクトの作成
クライアントが、次のペイロードを含む署名付き JWT(リクエストオブジェクト)を作成するものとします。クライアント: 認可リクエストの送信
次に、クライアントは上記のリクエストオブジェクトを用いて認可リクエストを組み立てます。リクエストには、値(request)または参照(request_uri)のいずれかとしてオブジェクトが含まれます。- オブジェクトを値で渡す場合
- オブジェクトを参照で渡す場合