

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 字符撤銷端點
<a name="revocation-endpoint"></a>

在工作階段中保留重新整理字符的使用者具有類似瀏覽器 Cookie 的內容。只要重新整理字符有效，他們可以續約現有的工作階段。您的應用程式可以使用重新整理權杖來取得新的有效權杖，而不是在其 ID 或存取權杖過期後提示使用者登入。不過，您可能會從外部判斷使用者的工作階段應該結束，或者使用者可能會選擇忘記目前的工作階段。此時，您可以撤銷該重新整理字符，使其無法再保留其工作階段。

`/oauth2/revoke` 端點會撤銷 Amazon Cognito 最初以您提供的重新整理字符發出的使用者存取字符。此端點也會撤銷重新整理字符本身，以及來自相同重新整理字符的所有後續存取和身分字符。端點撤銷權杖後，您無法使用已撤銷的存取權杖存取 Amazon Cognito 權杖進行身分驗證的 API。

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

`/oauth2/revoke` 端點僅支援 `HTTPS POST`。使用者集區用戶端會直接對此端點提出請求，而不是透過系統瀏覽器。

### 標頭中的請求參數
<a name="revocation-request-parameters"></a>

**`Authorization`**  
如果您的應用程式用戶端有用戶端秘密，應用程式必須透過基本 HTTP 授權在授權標頭`client_secret`中傳遞其 `client_id`和 。密碼是[基本](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
```

此撤銷請求會撤銷*具有*用戶端秘密之應用程式用戶端的重新整理字符。請注意 `Authorization`標頭，其中包含編碼的用戶端 ID 和用戶端秘密，但請求內文`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
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
token=2YotnFZFEjr1zCsicMWpAA
```

## 撤銷錯誤回應
<a name="revoke-sample-response"></a>

成功回應內文會空白。錯誤回應是具有 `error` 欄位且某些情形下有 `error_description` 欄位的 JSON 物件。

**端點錯誤**
+ 如果請求中沒有權杖，或應用程式用戶端已停用該功能，您會收到 HTTP 400 和錯誤 `invalid_request`。
+ 如果 Amazon Cognito 在撤銷請求中傳送的權杖不是重新整理權杖，您會收到 HTTP 400 和錯誤 `unsupported_token_type`。
+ 如果用户端憑證無效，您會收到 HTTP 401 和錯誤 `invalid_client`。
+ 如果權杖已被撤銷，或者用户端提交無效的權杖，您會收到 HTTP 200 OK。