

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 토큰 취소 엔드포인트
<a name="revocation-endpoint"></a>

세션에 새로 고침 토큰을 보유한 사용자는 브라우저 쿠키와 유사한 기능을 갖습니다. 새로 고침 토큰이 유효한 한 기존 세션을 갱신할 수 있습니다. 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_id` 및 `client_secret`를 전달해야 합니다. 보안 암호는 [기본](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` 필드를 포함하고 경우에 따라 `error_description` 필드도 포함하는 JSON 객체입니다.

**엔드포인트 오류**
+ 요청에 토큰이 없는 경우 또는 앱 클라이언트에 대해 기능이 비활성화된 경우 HTTP 400 및 오류 `invalid_request`가 발생합니다.
+ Amazon Cognito가 취소 요청에서 보낸 토큰이 새로 고침 토큰이 아닌 경우 HTTP 400 및 오류 `unsupported_token_type`이 발생합니다.
+ 클라이언트 자격 증명이 유효하지 않은 경우 HTTP 401 및 오류 `invalid_client`가 발생합니다.
+ 토큰이 취소된 경우 또는 클라이언트가 유효하지 않은 토큰을 제출한 경우 HTTP 200 OK가 발생합니다.