

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Titik akhir pencabutan token
<a name="revocation-endpoint"></a>

Pengguna yang memegang token penyegaran di sesi mereka memiliki sesuatu yang mirip dengan cookie browser. Mereka dapat memperbarui sesi yang ada selama token penyegaran valid. Alih-alih meminta pengguna untuk masuk setelah ID atau token akses mereka kedaluwarsa, aplikasi Anda dapat menggunakan token penyegaran untuk mendapatkan token baru yang valid. Namun, Anda mungkin secara eksternal menentukan bahwa sesi pengguna harus diakhiri, atau pengguna mungkin memilih untuk melupakan sesi mereka saat ini. Pada saat itu, Anda dapat mencabut token penyegaran itu sehingga mereka tidak dapat lagi mempertahankan sesi mereka.

`/oauth2/revoke`Titik akhir mencabut token akses pengguna yang awalnya dikeluarkan Amazon Cognito dengan token penyegaran yang Anda berikan. Titik akhir ini juga mencabut token penyegaran itu sendiri dan semua token akses dan identitas berikutnya dari token penyegaran yang sama. Setelah titik akhir mencabut token, Anda tidak dapat menggunakan token akses yang dicabut untuk mengakses token Amazon APIs Cognito yang diautentikasi.

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

Titik akhir `/oauth2/revoke` hanya mendukung `HTTPS POST`. Klien kolam pengguna membuat permintaan ke titik akhir ini secara langsung dan tidak melalui peramban sistem.

### Minta parameter di header
<a name="revocation-request-parameters"></a>

**`Authorization`**  
Jika klien aplikasi Anda memiliki rahasia klien, aplikasi harus meneruskannya `client_id` dan `client_secret` di header otorisasi melalui otorisasi HTTP Dasar. Rahasianya adalah [Dasar](https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side) `Base64Encode(client_id:client_secret)`.

**`Content-Type`**  
Harus selalu `'application/x-www-form-urlencoded'`.

#### Minta parameter dalam tubuh
<a name="revocation-request-parameters-body"></a>

**`token`**  
(Wajib) Token penyegaran yang ingin dicabut klien. Permintaan tersebut juga mencabut semua token akses yang dikeluarkan Amazon Cognito dengan token penyegaran ini.  
Wajib.

**`client_id`**  
(Opsional) ID klien aplikasi untuk token yang ingin Anda cabut.  
Diperlukan jika klien bersifat publik dan tidak memiliki rahasia.

## Contoh permintaan pencabutan
<a name="revoke-sample-request"></a>

Permintaan pencabutan ini mencabut token penyegaran untuk klien aplikasi yang tidak memiliki rahasia klien. Perhatikan `client_id` parameter di badan permintaan.

```
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
```

Permintaan pencabutan ini mencabut token penyegaran untuk klien aplikasi yang *memiliki* rahasia klien. Perhatikan `Authorization` header yang berisi ID klien dan rahasia klien yang dikodekan, tetapi tidak ada `client_id` di badan permintaan.

```
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
```

## Respons kesalahan pencabutan
<a name="revoke-sample-response"></a>

Respons yang berhasil berisi tubuh kosong. Respons kesalahan adalah objek JSON dengan `error` bidang dan, dalam beberapa kasus, `error_description` bidang.

**Kesalahan titik akhir**
+ Jika token tidak ada dalam permintaan atau jika fitur dinonaktifkan untuk klien aplikasi, Anda menerima HTTP 400 dan kesalahan`invalid_request`.
+ Jika token yang dikirim Amazon Cognito dalam permintaan pencabutan bukan token penyegaran, Anda menerima HTTP 400 dan kesalahan. `unsupported_token_type`
+ Jika kredensi klien tidak valid, Anda menerima HTTP 401 dan kesalahan. `invalid_client`
+ Jika token telah dicabut atau jika klien mengirimkan token yang tidak valid, Anda menerima HTTP 200 OK. 