はじめに
Authlete の「パラメーター化されたスコープ (parameterized scopes)」機能を利用すると、スコープ文字列の一部を可変にできます。本記事では「パラメーター化されたスコープ」を利用する方法について説明します。本機能は Authlete 2.2 以降でのみ利用可能になります。
パラメーター化されたスコープの定義方法
「パラメーター化されたスコープ」は、通常の固定文字列のスコープに対して特別なスコープ属性を設定することで利用できます。設定は以下の手順で行います。1. スコープ属性の設定画面を開きます。(詳細な手順は「スコープ属性 」をご覧ください。)2. 「属性のキー」に、 “regex”(「パラメーター化されたスコープ」を示す固定値)を指定します。3. 「属性の値」に、可変値を含むスコープ文字列にマッチする正規表現を指定します。 以下の例では、“consent” スコープに対し、可変値を含むスコープ文字列にマッチする正規表現として “^consent:.*$” を指定しています。この場合 Authlete は、“consent” スコープだけではなく、“consent:urn:bancoex:C1DD33123” のような、スコープ属性として設定した正規表現にマッチする値も、有効なスコープとして受け入れます。
「パラメーター化されたスコープ」の利用例
認可リクエスト
認可リクエストの “scope” パラメーターに「パラメーター化されたスコープ」が含まれている場合の、Authlete の /auth/authorization API のリクエスト・レスポンスの例を以下に示します。- リクエスト
- レスポンス
イントロスペクション
アクセストークンが特定の「パラメーター化されたスコープ」を持つかどうかは、固定文字列のスコープの場合と同様の方法により確認できます。以下は Authlete の /auth/introspection API のリクエスト・レスポンスの例です。- リクエスト
- レスポンス
ディスカバリードキュメントの表示
「パラメーター化されたスコープ」は、ディスカバリードキュメントにおいてはスコープ名のみ表示されます。以下は Authlete の /service/configuration API のレスポンスの例です。参考
- DynamicScope クラス (authlete-java-common ライブラリ)