ユーザー単位での発行済トークン管理(クライアント一覧取得、特定クライアントへの認可の範囲変更・取消)

概要


Authlete が発行したトークンについて、ユーザーを軸に、クライアント一覧取得・認可範囲変更・認可取消を行うための API 実行例について紹介します。

あるユーザーが認可しているクライアントのリストを取得


/client/authorization/get/list API を用いることにより、ある特定のユーザーが、どのクライアントに対して認可しているか(トークンを発行しているか)を、リストとして取得することが可能です。以下に実行例を示します。

  • リクエスト
GET /api/client/authorization/get/list/<subject>

GET /api/client/authorization/get/list?subject=<subject>

POST /api/client/authorization/get/list
                                                    application/x-www-form-urlencoded

POST /api/client/authorization/get/list
                                                    application/json

  • リクエストパラメーター
subject:   ユーザー一意識別子。必須。
                                            start:     検索結果の開始インデックス。デフォルト 0。
                                            end:       検索結果の終了インデックス。デフォルト 5。
                                            developer: 開発者識別子。デフォルト null。

  • レスポンス(成功時)
200 OK

application/json

  • レスポンスパラメーター(成功時)
subject:    ユーザー一意識別子。
                                            start:      検索結果の開始インデックス。
                                            end:        検索結果の終了インデックス。
                                            developer:  開発者識別子。
                                            totalCount: 該当するクライアントの総数
                                            clients:    クライアント情報の配列。クライアント情報のフォーマットは
                                                        /api/client/get/{clientId} 等の他の API レスポンスに
                                                        含まれるクライアント情報と同じ。

  • レスポンス(失敗時)
400 Bad Request, 403 Forbidden, 500 Internal Server Error など

application/json
                                            {
                                                "resultCode": ...,
                                                "resultMessage": ...
                                            }

あるユーザーが認可しているクライアントのうち、特定のクライアントに与えた認可範囲の変更


/client/authorization/update API を用いることにより、あるユーザーが認可している(発行した)トークンのうち、特定のクライアントに対して発行したトークンの認可範囲(スコープ)を変更することが可能です。以下に実行例を示します。

  • リクエスト
POST /api/client/authorization/update/<clientId>
                                                    application/x-www-form-urlencoded

POST /api/client/authorization/update/<clientId>
                                                    application/json

  • リクエストパラメーター
subject: ユーザー一意識別子。必須。

scopes: 新しいスコープ群の配列。オプショナル。null でない値が指定された場合、
                                                    それが新しいスコープ群として既存のアクセストークン群にセットされる。
                                                    Content-Type: application/x-www-form-urlencoded でリクエストする場合、
                                                    scopes の値はスコープ名をスペース区切りで列挙したもの (フォーム
                                                    エンコード後は '+' での区切りとなる)。

  • レスポンス
200 OK, 400 Bad Request, 403 Forbidden, 500 Internal Server Error など

application/json
                                            {
                                                "resultCode": ...,
                                                "resultMessage": ...
                                            }


あるユーザーが認可しているクライアントのうち、特定のクライアントに与えた認可の取消


/client/authorization/delete API を用いることにより、あるユーザーが認可しているクライアントのうち、特定のクライアントに対する認可を取り消す(発行したトークンを削除する)ことが可能です。以下に実行例を示します。

  • リクエスト
DELETE /api/client/authorization/delete/<clientId>/<subject>

DELETE /api/client/authorization/delete/<clientId>?subject=<subject>

POST /api/client/authorization/delete/<clientId>
                                                    application/x-www-form-urlencoded

POST /api/client/authorization/delete/<clientId>
                                                    application/json

  • リクエストパラメーター
subject: ユーザー一意識別子。必須。

  • レスポンス
200 OK, 400 Bad Request, 403 Forbidden, 500 Internal Server Error など

application/json
                                            {
                                                "resultCode": ...,
                                                "resultMessage": ...
                                            }
How did we do with this article?