Table of Contents
本記事では、ユーザーがクライアントに付与した認可の、取得・変更・取り消しを行う API の実行例を紹介します。 これらはたとえば以下の場合に有用です。
/client/authorization/get/list API は、ある特定のユーザーが、どのクライアントに対して認可しているか(トークンを発行しているか)を、リストとして取得する APIです。
GET もしくは POST にてリクエストを行います。
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 にて、以下のパラメーターを含む JSON が返却されます。
項目 | 説明 |
---|---|
subject | ユーザー一意識別子 |
start | 検索結果の開始インデックス |
end | 検索結果の終了インデックス |
developer | 開発者識別子 |
totalCount | 該当するクライアントの総数 |
clients | クライアント情報の配列(クライアント情報のフォーマットは /client/get API 等の他の API レスポンスに含まれるクライアント情報と同一) |
ステータスコード 400, 403, 500 などにて、以下の JSON が返却されます。
application/json
{
"resultCode": ...,
"resultMessage": ...
}
以下はユーザー "testuser01" が認可を付与したクライアント一覧を取得するリクエストの例です。
curl -s -X POST $AL_API/client/authorization/get/list \
-u ...:... \
-H 'Content-type: application/json' \
-d '{"subject":"testuser01"}'
clients にクライアント一覧を含むレスポンスが返却されます。
{
"type": "authorizedClientListResponse",
"clients": [
{
"clientId": 17566160603766,
"clientIdAliasEnabled": false,
"clientName": "FAPI Client",
"developer": "authlete_14500880170338"
}
],
"end": 5,
"start": 0,
"totalCount": 1,
"subject": "testuser01"
}
/client/authorization/update API は、特定のクライアントに発行されているトークンのうち、あるユーザーが認可を付与したものについて、それらのトークンの認可範囲(スコープ)を変更する API です。
POST にてリクエストを行います。URL の一部にクライアント ID (clientId) を指定します。
POST /api/client/authorization/update/<clientId>
application/x-www-form-urlencoded
POST /api/client/authorization/update/<clientId>
application/json
リクエストパラメーターは以下の通りです。
項目 | 説明 |
---|---|
subject | ユーザー一意識別子 \*必須 |
scopes | 新しいスコープ群の配列 |
ステータスコード 200, 400, 403, 500 などにて、以下の JSON が返却されます。
application/json
{
"resultCode": ...,
"resultMessage": ...
}
以下は、クライアント "17566160603766"
に発行されているトークンのうち、
ユーザー "testuser01"
が認可を付与したものについて、それらのトークンの認可範囲(スコープ)を "payment"
に変更するリクエストの例です。
curl -s -X POST $AL_API/client/authorization/update/17566160603766
\
-u ...:... \
-H 'Content-type: application/json' \
-d '{
"subject":"testuser01", "scopes":"payment"
}'
アクセストークンが更新されたことを示すレスポンスが返却されます。
{
"resultCode": "A138001",
"resultMessage": "[A138001] Updated 4 access token(s)
issued to the client (ID = 17566160603766) of the service (API Key = ...)."
}
/client/authorization/delete API は、特定のクライアントに発行されているトークンのうち、あるユーザーが認可を付与したものについて、それらのトークンを削除する API です。
DELETE もしくは POST にてリクエストを行います。URL の一部にクライアント ID (clientId) を指定します。
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, 400, 403, 500 などにて、以下の JSON が返却されます。
application/json
{
"resultCode": ...,
"resultMessage": ...
}
以下は、クライアント "17566160603766"
に発行されているトークンのうち、
ユーザー "testuser01"
が認可を付与したものについて、それらを削除するリクエストの例です。
curl -s -X POST $AL_API/client/authorization/delete/17566160603766
\
-u ...:... \
-H 'Content-type: application/json' \
-d '{
"subject":"testuser01"
}'
アクセストークンが削除されたことを示すレスポンスが返却されます。
{
"resultCode": "A137001",
"resultMessage": "[A137001] Deleted 4 access token(s)
issued to the client (ID = 17566160603766) of the service (API Key = ...)."
}