概要
Authlete の /auth/introspection API には、イントロスペクション対象のアクセストークンが特定のスコープを持つかどうかを確認する機能があります。確認する際には、同 API に対し、スコープを配列の値として指定します。トークンが持つスコープのチェック
たとえば、あるリソースサーバーの「注文 API」では、その API に対するリクエストに付与されたアクセストークンをチェックし、少なくとも payment スコープを持つ場合のみ処理を進めるとしましょう。 Authlete の /auth/introspection API を用いる場合、2 つの実現方法があります。- /auth/introspection API にアクセストークンのみを送信し、そのレスポンスとして取得できる「トークンが持つスコープ一覧」をチェックし、payment スコープの有無を確認
- /auth/introspection API に対し、アクセストークンとともに「そのトークンが持つべきスコープ」として payment スコープを指定して送信し、その上でトークンが有効かどうかをレスポンスとして取得

利用方法
/auth/introspection API を呼び出す際に scopes パラメーターを用いると、「token パラメーターで渡されたアクセストークン」が「scopes パラメーターで指定されたスコープ群」をカバーしているかどうかをチェックできます。 scopes パラメーターは配列であり、各スコープを値として記述します。たとえば account と payment の 2 つのスコープがカバーされているかどうかをチェックするためには以下のような表記になります。実行例
以下は、openid, profile, そして payment の 3 種類のスコープを持つアクセストークン (MhVD…) について、特定のスコープの有無を確認する例です。ここでは curl を用いてリクエスト・レスポンスを実行しています(読みやすさのため折り返しています)。特定のスコープが付与されている場合
- リクエスト
- レスポンス
特定のスコープが付与されていない場合
- リクエスト
- レスポンス