

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

# Titik akhir pengalihan dan otorisasi
Otorisasi titik akhir

Titik `/oauth2/authorize` akhir adalah titik akhir pengalihan yang mendukung dua tujuan pengalihan. Jika Anda menyertakan `idp_identifier` parameter `identity_provider` atau di URL, parameter tersebut secara diam-diam mengarahkan pengguna Anda ke halaman masuk untuk penyedia identitas tersebut (iDP). Jika tidak, itu mengalihkan ke [Titik akhir masuk](login-endpoint.md) dengan parameter URL yang sama yang Anda sertakan dalam permintaan Anda. 

Titik akhir otorisasi mengalihkan ke login terkelola atau ke halaman masuk IDP. Tujuan sesi pengguna di titik akhir ini adalah halaman web yang harus berinteraksi dengan pengguna Anda secara langsung di browser mereka.

Untuk menggunakan titik akhir otorisasi, panggil browser pengguna Anda di `/oauth2/authorize` dengan parameter yang menyediakan kumpulan pengguna Anda dengan informasi tentang detail kumpulan pengguna berikut.
+ Klien aplikasi yang ingin Anda masuki.
+ URL callback yang ingin Anda dapatkan.
+ Cakupan OAuth 2.0 yang ingin Anda minta di token akses pengguna Anda.
+ Secara opsional, idP pihak ketiga yang ingin Anda gunakan untuk masuk.

Anda juga dapat menyediakan `state` dan `nonce` parameter yang digunakan Amazon Cognito untuk memvalidasi klaim yang masuk.

## DAPATKAN `/oauth2/authorize`


Titik akhir `/oauth2/authorize` hanya mendukung `HTTPS GET`. Aplikasi Anda biasanya memulai permintaan ini di browser pengguna Anda. Anda hanya dapat membuat permintaan ke `/oauth2/authorize` titik akhir melalui HTTPS.

[Anda dapat mempelajari lebih lanjut tentang definisi titik akhir otorisasi dalam standar OpenID Connect (OIDC) di Authorization Endpoint.](http://openid.net/specs/openid-connect-core-1_0.html#ImplicitAuthorizationEndpoint)

### Permintaan parameter


**`response_type`**  
Wajib.  
Jenis respon. Harus `code` atau `token`.   
Permintaan yang berhasil dengan `response_type` `code` pengembalian hibah kode otorisasi. Pemberian kode otorisasi adalah `code` parameter yang ditambahkan Amazon Cognito ke URL pengalihan Anda. Aplikasi Anda dapat bertukar kode dengan token akses, ID, dan penyegaran. [Titik akhir token](token-endpoint.md) Sebagai praktik keamanan terbaik, dan untuk menerima token penyegaran bagi pengguna Anda, gunakan hibah kode otorisasi di aplikasi Anda.  
Permintaan yang berhasil dengan `response_type` `token` pengembalian hibah implisit. Pemberian implisit adalah ID dan token akses yang ditambahkan Amazon Cognito ke URL pengalihan Anda. Hibah implisit kurang aman karena mengekspos token dan informasi identifikasi potensial kepada pengguna. Anda dapat menonaktifkan dukungan untuk hibah implisit dalam konfigurasi klien aplikasi Anda.

**`client_id`**  
Wajib.  
ID klien aplikasi.  
Nilai `client_id` harus berupa ID klien aplikasi di kumpulan pengguna tempat Anda membuat permintaan. Klien aplikasi Anda harus mendukung proses masuk oleh pengguna lokal Amazon Cognito atau setidaknya satu IDP pihak ketiga.

**`redirect_uri`**  
Wajib.  
URL tempat server otentikasi mengalihkan browser setelah Amazon Cognito memberi otorisasi kepada pengguna.  
Pengenal sumber daya seragam pengalihan (URI) harus memiliki atribut berikut:  
+ Ini harus URI mutlak.
+ Anda harus telah melakukan pra-registrasi URI dengan klien.
+ Itu tidak dapat menyertakan komponen fragmen.
Lihat [OAuth 2.0 - Titik Akhir Pengalihan](https://tools.ietf.org/html/rfc6749#section-3.1.2).  
Amazon Cognito mengharuskan URI pengalihan Anda menggunakan HTTPS, kecuali`http://localhost`, yang dapat Anda tetapkan sebagai URL panggilan balik untuk tujuan pengujian.  
Amazon Cognito juga mendukung callback URLs aplikasi seperti. `myapp://example`

**`state`**  
Opsional, direkomendasikan.  
Saat aplikasi Anda menambahkan parameter *status* ke permintaan, Amazon Cognito mengembalikan nilainya ke aplikasi Anda saat `/oauth2/authorize` titik akhir mengalihkan pengguna Anda.  
Tambahkan nilai ini ke permintaan Anda untuk menjaga terhadap serangan [CSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery).  
Anda tidak dapat mengatur nilai `state` parameter ke string JSON yang dikodekan URL. Untuk meneruskan string yang cocok dengan format ini dalam `state` parameter, enkodekan string ke base64, lalu dekodekannya di aplikasi Anda.

**`identity_provider`**  
Tidak wajib.  
Tambahkan parameter ini untuk melewati login terkelola dan mengarahkan pengguna Anda ke halaman login penyedia. Nilai parameter *identity\$1provider* adalah nama penyedia identitas (idP) seperti yang muncul di kumpulan pengguna Anda.  
+ Untuk penyedia sosial, Anda dapat menggunakan nilai *identity\$1provider*`Facebook`,,`Google`, `LoginWithAmazon` dan. `SignInWithApple`
+ Untuk kumpulan pengguna Amazon Cognito, gunakan nilainya. `COGNITO`
+ Untuk penyedia identitas SAMP 2.0 dan OpenID Connect (OIDC) (IdPs), gunakan nama yang Anda tetapkan ke iDP di kumpulan pengguna Anda.

**`idp_identifier`**  
Tidak wajib.  
Tambahkan parameter ini untuk mengarahkan ke penyedia dengan nama alternatif untuk nama *identity\$1provider*. Anda dapat memasukkan pengenal untuk SAMP 2.0 dan OIDC Anda IdPs dari menu **penyedia sosial dan eksternal** dari konsol Amazon Cognito.

**`scope`**  
Tidak wajib.  
Dapat menjadi kombinasi dari cakupan sistem cadangan atau cakupan kustom yang terkait dengan klien. Lingkup harus dipisahkan oleh spasi. Cakupan sistem cadangan adalah `openid`, `email`, `phone`, `profile`, dan `aws.cognito.signin.user.admin`. Lingkup yang digunakan harus dikaitkan dengan klien, atau akan diabaikan pada saat waktu aktif.  
Jika klien tidak meminta cakupan apa pun, server autentikasi menggunakan semua cakupan yang terkait dengan klien.  
Token ID hanya dikembalikan jika cakupan `openid` diminta. Token akses hanya dapat digunakan terhadap kolam pengguna Amazon Cognito jika cakupan `aws.cognito.signin.user.admin` diminta. Cakupan `phone`, `email`, dan `profile` hanya dapat diminta jika cakupan `openid` juga diminta. Lingkup ini mendikte klaim yang masuk ke dalam token ID.

**`code_challenge_method`**  
Tidak wajib.  
Protokol hashing yang Anda gunakan untuk menghasilkan tantangan. [PKCE RFC](https://tools.ietf.org/html/rfc7636) mendefinisikan dua metode, S256 dan polos; namun, server autentikasi Amazon Cognito hanya mendukung S256.

**`code_challenge`**  
Tidak wajib.  
Bukti tantangan pertukaran kode kunci (PKCE) yang Anda hasilkan dari. `code_verifier` Untuk informasi selengkapnya, lihat [Menggunakan PKCE dalam hibah kode otorisasi](using-pkce-in-authorization-code.md).  
Diperlukan hanya ketika Anda menentukan `code_challenge_method` parameter.

**`nonce`**  
Tidak wajib.  
Nilai acak yang dapat Anda tambahkan ke permintaan. Nilai nonce yang Anda berikan disertakan dalam token ID yang dikeluarkan Amazon Cognito. Untuk mencegah serangan replay, aplikasi Anda dapat memeriksa `nonce` klaim dalam token ID dan membandingkannya dengan yang Anda buat. Untuk informasi selengkapnya tentang `nonce` klaim, lihat [validasi token ID dalam standar](https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation) *OpenID Connect*.

**`lang`**  
Tidak wajib.  
Bahasa yang ingin Anda tampilkan halaman interaktif pengguna. Halaman login terkelola dapat dilokalkan, tetapi halaman UI (klasik) yang dihosting tidak bisa. Untuk informasi selengkapnya, lihat [Pelokalan proses masuk terkelola](cognito-user-pools-managed-login.md#managed-login-localization).

**`login_hint`**  
Tidak wajib.  
Prompt nama pengguna yang ingin Anda teruskan ke server otorisasi. Anda dapat mengumpulkan nama pengguna, alamat email, atau nomor telepon dari pengguna Anda dan mengizinkan penyedia tujuan untuk mengisi nama masuk pengguna terlebih dahulu. Saat Anda mengirimkan `login_hint` parameter dan tidak ada `idp_identifier` atau `identity_provider` parameter ke `oauth2/authorize` titik akhir, login terkelola mengisi bidang nama pengguna dengan nilai petunjuk Anda. Anda juga dapat meneruskan parameter ini ke [Titik akhir masuk](login-endpoint.md) dan secara otomatis mengisi nilai nama pengguna.  
Saat permintaan otorisasi Anda memanggil pengalihan ke OIDC, IdPs Amazon Cognito menambahkan parameter ke permintaan tersebut ke otorisasi pihak `login_hint` ketiga tersebut. Anda tidak dapat meneruskan petunjuk masuk ke SAMP, Apple, Login Dengan Amazon, Google, atau Facebook (Meta). IdPs

**`prompt`**  
Tidak wajib.  
Parameter OIDC yang mengontrol perilaku otentikasi untuk sesi yang ada. Hanya tersedia dalam versi branding login terkelola, bukan di UI host klasik. Untuk informasi selengkapnya dari spesifikasi OIDC, lihat Permintaan [otentikasi](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest). Nilai `none` dan `login` memiliki efek pada perilaku otentikasi kumpulan pengguna.  
Amazon Cognito meneruskan semua nilai `prompt` kecuali `none` ke Anda IdPs saat pengguna memilih otentikasi dengan penyedia pihak ketiga. Ini benar ketika URL yang diakses pengguna menyertakan `idp_identifier` parameter `identity_provider` atau, atau ketika server otorisasi mengarahkan mereka ke dan mereka memilih [Titik akhir masuk](login-endpoint.md) dan IDP dari tombol yang tersedia.  
**Nilai parameter prompt**    
`prompt=none`  
Amazon Cognito diam-diam melanjutkan otentikasi untuk pengguna yang memiliki sesi otentikasi yang valid. Dengan prompt ini, pengguna dapat secara diam-diam mengautentikasi antara klien aplikasi yang berbeda di kumpulan pengguna Anda. Jika pengguna belum diautentikasi, server otorisasi mengembalikan kesalahan. `login_required`  
`prompt=login`  
Amazon Cognito mengharuskan pengguna untuk mengautentikasi ulang meskipun mereka memiliki sesi yang sudah ada. Kirim nilai ini saat Anda ingin memverifikasi identitas pengguna lagi. Pengguna yang diautentikasi yang memiliki sesi yang sudah ada dapat kembali masuk tanpa membatalkan sesi tersebut. Saat pengguna yang memiliki sesi yang sudah ada masuk lagi, Amazon Cognito memberi mereka cookie sesi baru. Parameter ini juga dapat diteruskan ke Anda. IdPs IdPsyang menerima parameter ini juga meminta upaya otentikasi baru dari pengguna.  
`prompt=select_account`  
Nilai ini tidak berpengaruh pada login lokal dan harus dikirimkan dalam permintaan yang dialihkan ke. IdPs Ketika disertakan dalam permintaan otorisasi Anda, parameter ini menambahkan `prompt=select_account` ke jalur URL untuk tujuan pengalihan iDP. Saat IdPs mendukung parameter ini, mereka meminta pengguna memilih akun yang ingin mereka masuki.  
`prompt=consent`  
Nilai ini tidak berpengaruh pada login lokal dan harus dikirimkan dalam permintaan yang dialihkan ke. IdPs Ketika disertakan dalam permintaan otorisasi Anda, parameter ini menambahkan `prompt=consent` ke jalur URL untuk tujuan pengalihan iDP. Saat IdPs mendukung parameter ini, mereka meminta persetujuan pengguna sebelum mengarahkan kembali ke kumpulan pengguna Anda. 
Ketika Anda menghilangkan `prompt` parameter dari permintaan Anda, login terkelola mengikuti perilaku default: pengguna harus masuk kecuali browser mereka memiliki cookie sesi login terkelola yang valid. Anda dapat menggabungkan beberapa nilai `prompt` dengan pembatas karakter spasi, misalnya. `prompt=login consent`

**`resource`**  
Tidak wajib.  
Pengidentifikasi sumber daya yang ingin Anda ikat ke token akses dalam klaim. `aud` Saat Anda menyertakan parameter ini, Amazon Cognito memvalidasi bahwa nilainya adalah URL dan menetapkan pemirsa token akses yang dihasilkan ke sumber daya yang diminta. Anda dapat meminta [server sumber daya](cognito-user-pools-define-resource-servers.md) kumpulan pengguna dengan pengenal dalam format URL, atau URL pilihan Anda. Nilai untuk parameter ini harus dimulai dengan`https://`,`http://localhost`, atau skema URL kustom seperti`myapp://`.  
Pengikatan sumber daya didefinisikan dalam [RFC 8707](https://www.rfc-editor.org/rfc/rfc8707.html). Untuk informasi selengkapnya tentang server sumber daya dan pengikatan sumber daya, lihat [Pengikatan sumber daya](cognito-user-pools-define-resource-servers.md#cognito-user-pools-resource-binding).

## Contoh: hibah kode otorisasi


Ini adalah contoh permintaan untuk hibah kode otorisasi.

Permintaan berikut memulai sesi untuk mengambil kode otorisasi yang diteruskan pengguna ke aplikasi Anda di tujuan. `redirect_uri` Sesi ini meminta cakupan atribut pengguna dan akses ke operasi API layanan mandiri Amazon Cognito.

```
GET https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?
response_type=code&
client_id=1example23456789&
redirect_uri=https://www.example.com&
state=abcdefg&
scope=openid+profile+aws.cognito.signin.user.admin
```

Server autentikasi Amazon Cognito mengalihkan kembali ke aplikasi Anda dengan kode otorisasi dan status. Kode otorisasi berlaku selama lima menit.

```
HTTP/1.1 302 Found
Location: https://www.example.com?code=a1b2c3d4-5678-90ab-cdef-EXAMPLE11111&state=abcdefg
```

## Contoh: hibah kode otorisasi dengan PKCE


Alur contoh ini melakukan hibah kode otorisasi dengan [PKCE](using-pkce-in-authorization-code.md#using-pkce-in-authorization-code.title).

Permintaan ini menambahkan `code_challenge` parameter. Untuk menyelesaikan pertukaran kode untuk token, Anda harus menyertakan `code_verifier` parameter dalam permintaan Anda ke `/oauth2/token` titik akhir.

```
GET https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?
response_type=code&
client_id=1example23456789&
redirect_uri=https://www.example.com&
state=abcdefg&
scope=aws.cognito.signin.user.admin&
code_challenge_method=S256&
code_challenge=a1b2c3d4...
```

Server otorisasi mengalihkan kembali ke aplikasi Anda dengan kode otorisasi dan status. Aplikasi Anda memproses kode otorisasi dan menukarnya dengan token.

```
HTTP/1.1 302 Found
Location: https://www.example.com?code=a1b2c3d4-5678-90ab-cdef-EXAMPLE11111&state=abcdefg
```

## Contoh: memerlukan otentikasi ulang dengan `prompt=login`


Permintaan berikut menambahkan `prompt=login` parameter yang mengharuskan pengguna untuk mengautentikasi lagi, bahkan jika mereka memiliki sesi yang sudah ada.

```
GET https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?
response_type=code&
client_id=1example23456789&
redirect_uri=https://www.example.com&
state=abcdefg&
scope=openid+profile+aws.cognito.signin.user.admin&
prompt=login
```

Server otorisasi mengalihkan ke [titik akhir login](login-endpoint.md), yang membutuhkan autentikasi ulang.

```
HTTP/1.1 302 Found Location: https://mydomain.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com&state=abcdefg&scope=openid+profile+aws.cognito.signin.user.admin&prompt=login
```

## Contoh: otentikasi senyap dengan `prompt=none`


Permintaan berikut menambahkan `prompt=none` parameter yang diam-diam memeriksa apakah pengguna memiliki sesi yang valid.

```
GET https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?
response_type=code&
client_id=1example23456789&
redirect_uri=https://www.example.com&
state=abcdefg&
scope=openid+profile+aws.cognito.signin.user.admin&
prompt=none
```

Ketika tidak ada sesi yang valid, server otorisasi mengembalikan kesalahan ke URI pengalihan

```
HTTP/1.1 302 Found Location: https://www.example.com?error=login_required&state=abcdefg
```

Ketika sesi yang valid ada, server otorisasi mengembalikan kode otorisasi.

```
HTTP/1.1 302 Found Location: https://www.example.com?code=AUTHORIZATION_CODE&state=abcdefg
```

## Contoh: pemberian kode otorisasi dengan pengikatan sumber daya


Permintaan berikut menambahkan `resource` parameter untuk mengikat token akses ke server sumber daya tertentu. Token akses yang dihasilkan menciptakan kondisi untuk API target untuk memvalidasi bahwa itu adalah audiens yang dituju dari permintaan pengguna yang diautentikasi.

```
GET https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?
response_type=code&
client_id=1example23456789&
redirect_uri=https://www.example.com&
state=abcdefg&
scope=solar-system-data-api.example.com/asteroids.add&
resource=https://solar-system-data-api.example.com
```

Server otorisasi mengembalikan kode otorisasi yang menghasilkan token akses dengan `aud` klaim. `https://solar-system-data-api.example.com`

```
HTTP/1.1 302 Found Location: https://www.example.com?code=AUTHORIZATION_CODE&state=abcdefg
```

## Contoh: Hibah Token (implisit) tanpa ruang lingkup `openid`


Alur contoh ini menghasilkan hibah implisit dan kembali JWTs langsung ke sesi pengguna.

Permintaan ini untuk hibah implisit dari server otorisasi Anda. Ini meminta cakupan dalam token akses yang mengotorisasi operasi layanan mandiri profil pengguna.

```
GET https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?
response_type=token&
client_id=1example23456789&
redirect_uri=https://www.example.com&
state=abcdefg&
scope=aws.cognito.signin.user.admin
```

Server otorisasi mengalihkan kembali ke aplikasi Anda hanya dengan token akses. Karena `openid` cakupan tidak diminta, Amazon Cognito tidak mengembalikan token ID. Selain itu, Amazon Cognito tidak mengembalikan token penyegaran dalam aliran ini.

```
HTTP/1.1 302 Found
Location: https://example.com/callback#access_token=eyJra456defEXAMPLE&token_type=bearer&expires_in=3600&state=STATE
```

## Contoh: Hibah Token (implisit) dengan ruang lingkup `openid`


Alur contoh ini menghasilkan hibah implisit dan mengembalikan token ke browser pengguna.

Permintaan ini untuk hibah implisit dari server otorisasi Anda. Ini meminta cakupan dalam token akses yang mengotorisasi akses ke atribut pengguna dan operasi swalayan.

```
GET
https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize? 
response_type=token& 
client_id=1example23456789& 
redirect_uri=https://www.example.com& 
state=abcdefg&
scope=aws.cognito.signin.user.admin+openid+profile
```

Server otorisasi mengalihkan kembali ke aplikasi Anda dengan token akses dan token ID (karena `openid` cakupan disertakan):

```
HTTP/1.1 302 Found
Location: https://www.example.com#id_token=eyJra67890EXAMPLE&access_token=eyJra12345EXAMPLE&token_type=bearer&expires_in=3600&state=abcdefg
```

## Contoh tanggapan negatif
Tanggapan kesalahan

Amazon Cognito mungkin menolak permintaan Anda. Permintaan negatif datang dengan kode kesalahan HTTP dan deskripsi yang dapat Anda gunakan untuk memperbaiki parameter permintaan Anda. Berikut ini adalah contoh tanggapan negatif.
+ `redirect_uri`Jika `client_id` dan valid, tetapi parameter permintaan tidak diformat dengan benar, server otentikasi mengalihkan kesalahan ke klien `redirect_uri` dan menambahkan pesan kesalahan dalam parameter URL. Berikut ini adalah contoh pemformatan yang salah.
  + Permintaan tidak menyertakan `response_type` parameter.
  + Permintaan otorisasi menyediakan `code_challenge` parameter, tetapi bukan `code_challenge_method` parameter.
  + Nilai `code_challenge_method` parameternya tidak`S256`.

  Berikut ini adalah respons terhadap permintaan contoh dengan format yang salah.

  ```
  HTTP 1.1 302 Found Location: https://client_redirect_uri?error=invalid_request
  ```
+ Jika klien meminta `code` atau `token` masuk`response_type`, tetapi tidak memiliki izin untuk permintaan ini, server otorisasi Amazon Cognito kembali `unauthorized_client` ke klien`redirect_uri`, sebagai berikut:

  ```
  HTTP 1.1 302 Found Location: https://client_redirect_uri?error=unauthorized_client
  ```
+  Jika klien meminta cakupan yang tidak diketahui, cacat, atau tidak valid, server otorisasi Amazon Cognito `invalid_scope` kembali ke `redirect_uri` klien, sebagai berikut: 

  ```
  HTTP 1.1 302 Found Location: https://client_redirect_uri?error=invalid_scope
  ```
+ Jika ada kesalahan tak terduga di server, server otentikasi kembali `server_error` ke klien. `redirect_uri` Karena kesalahan HTTP 500 tidak dikirim ke klien, kesalahan tidak ditampilkan di browser pengguna. Server otorisasi mengembalikan kesalahan berikut.

  ```
  HTTP 1.1 302 Found Location: https://client_redirect_uri?error=server_error
  ```
+ Saat Amazon Cognito mengautentikasi melalui federasi ke pihak ketiga, Amazon IdPs Cognito mungkin mengalami masalah koneksi, seperti berikut ini:
  + Jika batas waktu koneksi terjadi saat meminta token dari IDP, server otentikasi mengalihkan kesalahan ke klien sebagai berikut: `redirect_uri`

    ```
    HTTP 1.1 302 Found Location: https://client_redirect_uri?error=invalid_request&error_description=Timeout+occurred+in+calling+IdP+token+endpoint
    ```
  + Jika batas waktu koneksi terjadi saat memanggil `jwks_uri` titik akhir untuk validasi token ID, server otentikasi mengalihkan dengan kesalahan ke klien sebagai berikut: `redirect_uri`

    ```
    HTTP 1.1 302 Found Location: https://client_redirect_uri?error=invalid_request&error_description=error_description=Timeout+in+calling+jwks+uri
    ```
+ Saat mengautentikasi dengan mengfederasi ke pihak ketiga IdPs, penyedia dapat mengembalikan respons kesalahan. Ini bisa disebabkan oleh kesalahan konfigurasi atau alasan lain, seperti berikut ini:
  + Jika respons kesalahan diterima dari penyedia lain, server autentikasi mengalihkan kesalahan ke `redirect_uri` klien sebagai berikut:

    ```
    HTTP 1.1 302 Found Location: https://client_redirect_uri?error=invalid_request&error_description=[IdP name]+Error+-+[status code]+error getting token
    ```
  + Jika respons kesalahan diterima dari Google, server otentikasi mengalihkan kesalahan ke klien `redirect_uri` sebagai berikut: 

    ```
    HTTP 1.1 302 Found Location: https://client_redirect_uri?error=invalid_request&error_description=Google+Error+-+[status code]+[Google-provided error code]
    ```
+ Saat Amazon Cognito menemukan pengecualian komunikasi saat terhubung ke iDP eksternal, server autentikasi mengalihkan dengan kesalahan ke klien dengan salah satu pesan berikut: `redirect_uri`
  + 

    ```
    HTTP 1.1 302 Found Location: https://client_redirect_uri?error=invalid_request&error_description=Connection+reset
    ```
  + 

    ```
    HTTP 1.1 302 Found Location: https://client_redirect_uri?error=invalid_request&error_description=Read+timed+out
    ```