Skip to main content

はじめに

本記事では、ユーザーがクライアントに付与した認可の、取得・変更・取り消しを行う API の実行例を紹介します。 これらはたとえば以下の場合に有用です。
  • ユーザー本人が API 事業者(認可サーバー)のサイトにログインし、自分がどのクライアントを認可しているかを確認する
  • API 事業者がユーザーからの依頼に基づいて、特定のクライアントに発行したトークンを削除する
user-centric-token-management_ja

1. ユーザーが認可を付与した(トークンが発行された)クライアント一覧の取得

/client/authorization/get/list API は、ある特定のユーザーが、どのクライアントに対して認可しているか(トークンを発行しているか)を、リストとして取得する APIです。

リクエスト

GET もしくは POST にてリクエストを行います。
リクエストパラメーターは以下の通りです。

レスポンス

成功レスポンス

ステータスコード 200 にて、以下のパラメーターを含む JSON が返却されます。

失敗レスポンス

ステータスコード 400, 403, 500 などにて、以下の JSON が返却されます。

実行例

  • リクエスト
以下はユーザー “testuser01” が認可を付与したクライアント一覧を取得するリクエストの例です。
  • レスポンス
clients にクライアント一覧を含むレスポンスが返却されます。

2. クライアントに付与した認可の範囲(トークンのスコープ)の変更

/client/authorization/update API は、特定のクライアントに発行されているトークンのうち、あるユーザーが認可を付与したものについて、それらのトークンの認可範囲(スコープ)を変更する API です。

リクエスト

POST にてリクエストを行います。URL の一部にクライアント ID (clientId) を指定します。
リクエストパラメーターは以下の通りです。
  • null でない値が指定された場合、それが新しいスコープ群として既存のアクセストークン群にセットされる
  • Content-Type: application/x-www-form-urlencoded でリクエストする場合、scopes の値はスコープ名をスペース区切りで列挙したもの (フォームエンコード後は ’+’ での区切りとなる) |

レスポンス

ステータスコード 200, 400, 403, 500 などにて、以下の JSON が返却されます。

実行例

  • リクエスト
以下は、クライアント “17566160603766” に発行されているトークンのうち、
ユーザー **“testuser01” **が認可を付与したものについて、それらのトークンの認可範囲(スコープ)を “payment” に変更するリクエストの例です。
  • レスポンス
アクセストークンが更新されたことを示すレスポンスが返却されます。

3. クライアントに付与した認可の取消(発行したトークンの削除)

/client/authorization/delete API は、特定のクライアントに発行されているトークンのうち、あるユーザーが認可を付与したものについて、それらのトークンを削除する API です。

リクエスト

DELETE もしくは POST にてリクエストを行います。URL の一部にクライアント ID (clientId) を指定します。
リクエストパラメーターは以下の通りです。

レスポンス

ステータスコード 200, 400, 403, 500 などにて、以下の JSON が返却されます。

実行例

  • リクエスト
以下は、クライアント “17566160603766” に発行されているトークンのうち、
ユーザー **“testuser01” **が認可を付与したものについて、それらを削除するリクエストの例です。
  • レスポンス
アクセストークンが削除されたことを示すレスポンスが返却されます。