

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# トークン取り消しエンドポイント
<a name="revocation-endpoint"></a>

セッションで更新トークンを保持するユーザーは、ブラウザ Cookie のようなものが与えられます。更新トークンが有効である限り、既存のセッションを更新できます。ID トークンまたはアクセストークンの有効期限が切れた後にサインインするようにユーザーに促す代わりに、アプリケーションは、更新トークンを使用して新しい有効なトークンを取得できます。ただし、ユーザーのセッションを終了する必要があると外部で判断することや、ユーザーが現在のセッションを忘れたりすることがあります。その時点で、セッションを維持できなくなるように、その更新トークンを取り消せます。

`/oauth2/revoke` エンドポイントは、指定した更新トークンを使用して Amazon Cognito が最初に発行したユーザーのアクセストークンを取り消します。また、このエンドポイントは、更新トークン自体、および同じ更新トークンからの後続のアクセストークンと ID トークンのすべても取り消します。エンドポイントがトークンを取り消した後、取り消されたトークンを使用して Amazon Cognito トークンが認証する API にアクセスすることはできません。

## POST/oauth2/revoke
<a name="post-revoke"></a>

`/oauth2/revoke` エンドポイントは `HTTPS POST` のみをサポートします。ユーザープールクライアントは、システムブラウザ経由ではなくこのエンドポイントに直接リクエストを送信します。

### ヘッダーのリクエストパラメータ
<a name="revocation-request-parameters"></a>

**`Authorization`**  
アプリケーションクライアントにクライアントシークレットがある場合、アプリケーションは、その `client_id` および `client_secret` をベーシック HTTP 認可を介して認可ヘッダーに渡す必要があります。シークレットは[ベーシック](https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side) `Base64Encode(client_id:client_secret)` です。

**`Content-Type`**  
常に `'application/x-www-form-urlencoded'` にする必要があります。

#### 本文のリクエストパラメータ
<a name="revocation-request-parameters-body"></a>

**`token`**  
(必須) クライアントが取り消す対象の更新トークンです。このリクエストは、Amazon Cognito がこの更新トークンで発行したすべてのアクセストークンも無効にします。  
必須。

**`client_id`**  
(オプション) 取り消す対象のトークンのアプリケーションクライアント ID。  
クライアントがパブリックでありシークレットがない場合は必須です。

## 取り消しリクエストの例
<a name="revoke-sample-request"></a>

この取り消しリクエストは、クライアントシークレットを持たないアプリケーションクライアントの更新トークンを取り消します。リクエスト本文内の `client_id` パラメータに注意してください。

```
POST /oauth2/revoke HTTP/1.1
Host: mydomain.auth.us-east-1.amazoncognito.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
token=2YotnFZFEjr1zCsicMWpAA&
client_id=1example23456789
```

この取り消しリクエストは、クライアントシークレットを*持つ*アプリケーションクライアントの更新トークンを取り消します。エンコードされたクライアント ID とクライアントシークレットを含むが、リクエスト本文内に `client_id` を含まない `Authorization` ヘッダーに注意してください。

```
POST /oauth2/revoke HTTP/1.1
Host: mydomain.auth.us-east-1.amazoncognito.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
token=2YotnFZFEjr1zCsicMWpAA
```

## 取り消しエラーレスポンス
<a name="revoke-sample-response"></a>

正常なレスポンスには空のボディが含まれています。エラーレスポンスは、`error` フィールドを持つ JSON オブジェクトで、`error_description` フィールドがある場合もあります。

**エンドポイントエラー**
+ リクエストにトークンが存在しない場合、またはアプリケーションクライアントに対して機能が無効化されている場合に、HTTP 400 とエラー `invalid_request` が返されます。
+ Amazon Cognito が取り消しリクエストで送信したトークンが更新トークンでない場合は、HTTP 400 とエラー `unsupported_token_type` が発生します。
+ クライアントの認証情報が有効でない場合、HTTP 401 とエラー `invalid_client` が発生します。
+ トークンが取り消されている、またはクライアントが無効なトークンを送信した場合は、HTTP 200 OK が発生します。