

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

# Menyiapkan penyedia OIDC sebagai idP kumpulan identitas
<a name="open-id"></a>

[OpenID Connect](http://openid.net/connect/) adalah standar terbuka untuk otentikasi yang didukung oleh sejumlah penyedia login. Dengan Amazon Cognito, Anda dapat menautkan identitas dengan penyedia OpenID Connect yang Anda konfigurasikan. [AWS Identity and Access Management](https://aws.amazon.com/iam/)

**Menambahkan penyedia OpenID Connect**

*Untuk informasi tentang cara membuat penyedia OpenID Connect, lihat Membuat penyedia [identitas OpenID Connect (OIDC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc.html) di Panduan Pengguna.AWS Identity and Access Management *

**Mengaitkan penyedia dengan Amazon Cognito**

**Untuk menambahkan penyedia identitas OIDC (iDP)**

1. Pilih **kumpulan Identitas** dari konsol [Amazon Cognito](https://console.aws.amazon.com/cognito/home). Pilih kumpulan identitas.

1. Pilih tab **Akses pengguna**.

1. Pilih **Tambahkan penyedia identitas**.

1. Pilih **OpenID Connect (OIDC**).

1. Pilih **penyedia identitas OIDC** dari IAM IdPs di Anda. Akun AWS Jika Anda ingin menambahkan penyedia SAMP baru, pilih **Buat penyedia baru** untuk menavigasi ke konsol IAM.

1. **Untuk menyetel peran yang diminta Amazon Cognito saat mengeluarkan kredensil kepada pengguna yang telah mengautentikasi dengan penyedia ini, konfigurasikan setelan Peran.**

   1. Anda dapat menetapkan pengguna dari IDP tersebut peran **Default** yang Anda atur saat mengonfigurasi peran **Terautentikasi, atau Anda** **dapat Memilih** peran dengan aturan.

     1. Jika Anda memilih **Pilih peran dengan aturan**, masukkan **Klaim** sumber dari autentikasi pengguna Anda, **Operator** yang ingin Anda bandingkan dengan klaim, **Nilai** yang akan menyebabkan kecocokan dengan pilihan peran ini, dan **Peran** yang ingin Anda tetapkan saat **penetapan Peran** cocok. Pilih **Tambahkan yang lain** untuk membuat aturan tambahan berdasarkan kondisi yang berbeda.

     1. Pilih **Resolusi Peran**. **Jika klaim pengguna tidak sesuai dengan aturan, Anda dapat menolak kredensil atau mengeluarkan kredensi untuk peran yang Diautentikasi.**

1. **Untuk mengubah tag utama yang ditetapkan Amazon Cognito saat mengeluarkan kredensil kepada pengguna yang telah diautentikasi dengan penyedia ini, konfigurasikan Atribut untuk kontrol akses.**

   1. Untuk tidak menerapkan tag utama, pilih **Tidak aktif**.

   1. Untuk menerapkan tag utama berdasarkan `sub` dan `aud` klaim, pilih **Gunakan pemetaan default**.

   1. Untuk membuat skema atribut kustom Anda sendiri ke tag utama, pilih **Gunakan pemetaan khusus**. Kemudian masukkan **kunci Tag** yang ingin Anda sumber dari setiap **Klaim** yang ingin Anda wakili dalam tag.

1. Pilih **Simpan perubahan**.

Anda dapat mengaitkan beberapa penyedia OpenID Connect dengan kolam identitas tunggal.

**Menggunakan OpenID Connect**

Lihat dokumentasi penyedia Anda untuk mengetahui cara masuk dan menerima token ID.

Setelah Anda memiliki token, tambahkan token ke peta login. Gunakan URI penyedia Anda sebagai kuncinya.

**Memvalidasi token OpenID Connect**

Saat pertama kali berintegrasi dengan Amazon Cognito, Anda mungkin menerima pengecualian`InvalidToken`. Penting untuk memahami bagaimana Amazon Cognito memvalidasi token OpenID Connect (OIDC).

**catatan**  
Seperti yang ditentukan di sini ([https://tools.ietf.org/html/rfc7523),](https://tools.ietf.org/html/rfc7523) Amazon Cognito memberikan masa tenggang 5 menit untuk menangani kemiringan jam antar sistem.

1. `iss`Parameter harus cocok dengan kunci yang digunakan peta login (seperti login.provider.com).

1. Tanda tangan harus valid. Tanda tangan harus dapat diverifikasi melalui kunci publik RSA.
**catatan**  
Identity pool mempertahankan cache dari kunci penandatanganan IDP OIDC untuk waktu yang singkat. Jika penyedia Anda mengubah kunci penandatanganan mereka, Amazon Cognito mungkin menampilkan `NoKeyFound` kesalahan hingga cache ini diperbarui. Jika Anda mengalami kesalahan ini, tunggu sekitar sepuluh menit hingga kumpulan identitas Anda menyegarkan kunci penandatanganan.

1. Sidik jari kunci publik sertifikat cocok dengan sidik jari yang Anda tetapkan di IAM saat Anda membuat penyedia OIDC Anda.

1. Jika `azp` parameter ada, periksa nilai ini terhadap klien yang terdaftar IDs di penyedia OIDC Anda.

1. Jika `azp` parameter tidak ada, periksa `aud` parameter terhadap klien yang terdaftar IDs di penyedia OIDC Anda.

Situs web [jwt.io](http://jwt.io/) adalah sumber daya berharga yang dapat Anda gunakan untuk memecahkan kode token dan memverifikasi nilai-nilai ini.

## Android
<a name="set-up-open-id-1.android"></a>

```
Map<String, String> logins = new HashMap<String, String>();
logins.put("login.provider.com", token);
credentialsProvider.setLogins(logins);
```

## iOS - Objective-C
<a name="set-up-open-id-1.ios-objc"></a>

```
credentialsProvider.logins = @{ "login.provider.com": token }
```

## JavaScript
<a name="set-up-open-id-1.javascript"></a>

```
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
 IdentityPoolId: 'IDENTITY_POOL_ID',
 Logins: {
    'login.provider.com': token
 }
});
```