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

1. ユーザーが認可を付与した(トークンが発行された)クライアント一覧の取得
/client/authorization/get/list API は、ある特定のユーザーが、どのクライアントに対して認可しているか(トークンを発行しているか)を、リストとして取得する APIです。リクエスト
GET もしくは POST にてリクエストを行います。| 項目 | 説明 |
|---|---|
| subject | ユーザー一意識別子 *必須 |
| start | 検索結果の開始インデックス(デフォルト: 0) |
| end | 検索結果の終了インデックス (デフォルト: 5) |
| developer | 開発者識別子(デフォルト: null) |
レスポンス
成功レスポンス
ステータスコード 200 にて、以下のパラメーターを含む JSON が返却されます。| 項目 | 説明 |
|---|---|
| subject | ユーザー一意識別子 |
| start | 検索結果の開始インデックス |
| end | 検索結果の終了インデックス |
| developer | 開発者識別子 |
| totalCount | 該当するクライアントの総数 |
| clients | クライアント情報の配列(クライアント情報のフォーマットは /client/get API 等の他の API レスポンスに含まれるクライアント情報と同一) |
失敗レスポンス
ステータスコード 400, 403, 500 などにて、以下の JSON が返却されます。実行例
- リクエスト
- レスポンス
2. クライアントに付与した認可の範囲(トークンのスコープ)の変更
/client/authorization/update API は、特定のクライアントに発行されているトークンのうち、あるユーザーが認可を付与したものについて、それらのトークンの認可範囲(スコープ)を変更する API です。リクエスト
POST にてリクエストを行います。URL の一部にクライアント ID (clientId) を指定します。| 項目 | 説明 |
|---|---|
| subject | ユーザー一意識別子 *必須 |
| scopes | 新しいスコープ群の配列 |
- null でない値が指定された場合、それが新しいスコープ群として既存のアクセストークン群にセットされる
- Content-Type: application/x-www-form-urlencoded でリクエストする場合、scopes の値はスコープ名をスペース区切りで列挙したもの (フォームエンコード後は ’+’ での区切りとなる) |
レスポンス
ステータスコード 200, 400, 403, 500 などにて、以下の JSON が返却されます。実行例
- リクエスト
ユーザー **“testuser01” **が認可を付与したものについて、それらのトークンの認可範囲(スコープ)を “payment” に変更するリクエストの例です。
- レスポンス
3. クライアントに付与した認可の取消(発行したトークンの削除)
/client/authorization/delete API は、特定のクライアントに発行されているトークンのうち、あるユーザーが認可を付与したものについて、それらのトークンを削除する API です。リクエスト
DELETE もしくは POST にてリクエストを行います。URL の一部にクライアント ID (clientId) を指定します。| 項目 | 説明 |
|---|---|
| subject | ユーザー一意識別子 *必須 |
レスポンス
ステータスコード 200, 400, 403, 500 などにて、以下の JSON が返却されます。実行例
- リクエスト
ユーザー **“testuser01” **が認可を付与したものについて、それらを削除するリクエストの例です。
- レスポンス