

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

# Menggunakan penyedia identitas sosial dengan kumpulan pengguna
<a name="cognito-user-pools-social-idp"></a>

Pengguna web dan aplikasi seluler Anda dapat masuk melalui penyedia identitas (IdP) sosial seperti Facebook, Google, Amazon, dan Apple. Dengan UI web host bawaan, Amazon Cognito menyediakan penanganan dan manajemen token untuk semua pengguna yang diautentikasi. Dengan cara ini, sistem backend Anda dapat melakukan standarisasi pada satu set token kumpulan pengguna. Anda harus mengaktifkan login terkelola untuk berintegrasi dengan penyedia identitas sosial yang didukung. Saat Amazon Cognito membuat halaman login terkelola Anda, Amazon Cognito membuat OAuth 2.0 titik akhir yang digunakan Amazon Cognito dan OIDC serta sosial Anda untuk bertukar informasi. IdPs Untuk informasi selengkapnya, lihat referensi [API Auth kumpulan pengguna Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-userpools-server-contract-reference.html).

Anda dapat menambahkan iDP sosial di Konsol Manajemen AWS, atau Anda dapat menggunakan CLI atau AWS Amazon Cognito API. 

**catatan**  
Masuk melalui pihak ketiga (federasi) tersedia di kolam pengguna Amazon Cognito. Fitur ini independen dari federasi melalui kolam identitas Amazon Cognito (identitas federasi).

**Topics**
+ [Menyiapkan akun dan aplikasi pengembang iDP sosial](#cognito-user-pools-social-idp-step-1)
+ [Konfigurasikan kumpulan pengguna Anda dengan iDP sosial](#cognito-user-pools-social-idp-step-2)
+ [Uji konfigurasi iDP sosial Anda](#cognito-user-pools-social-idp-step-3)

## Menyiapkan akun dan aplikasi pengembang iDP sosial
<a name="cognito-user-pools-social-idp-step-1"></a>

Sebelum Anda membuat IdP sosial dengan Amazon Cognito, Anda harus mendaftarkan aplikasi Anda dengan IdP sosial untuk menerima ID klien dan rahasia klien.

------
#### [ Facebook ]

Untuk informasi terbaru tentang konfigurasi akun pengembang Meta dan autentikasi, lihat [Meta](https://developers.facebook.com/docs/development) App Development.

**Cara mendaftarkan aplikasi dengan Facebook/Meta**

1. Buat sebuah [akun developer dengan Facebook](https://developers.facebook.com/docs/facebook-login).

1. [Masuk](https://developers.facebook.com/) dengan kredensial Facebook Anda.

1. Dari menu **Aplikasi Saya**, pilih **Buat Aplikasi Baru**.

1. Masukkan nama untuk aplikasi Facebook Anda, lalu pilih **Buat ID Aplikasi**.

1. Di bilah navigasi kiri, pilih **Pengaturan**, lalu **Dasar**.

1. Perhatikan **ID Aplikasi** dan **Rahasia Aplikasi**. Anda akan menggunakannya di bagian selanjutnya.

1. Pilih **\$1 Tambahkan Platform** dari bagian bawah halaman.

1. Pilih **Situs Web**.

1. Di bawah **Situs Web**, masukkan jalur ke halaman login untuk aplikasi Anda ke **URL Situs**.

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com
   ```

1. Pilih **Simpan perubahan**.

1. Masukkan jalur ke root domain kumpulan pengguna Anda ke Domain **Aplikasi**.

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com
   ```

1. Pilih **Simpan perubahan**.

1. Dari bilah navigasi pilih **Tambah Produk** dan pilih **Siapkan** untuk produk **Login Facebook**.

1. Dari bilah navigasi pilih **Facebook Login** dan kemudian **Pengaturan**.

   Masukkan jalur ke `/oauth2/idpresponse` titik akhir untuk domain kumpulan pengguna Anda ke ** OAuthPengalihan URIs Valid**.

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
   ```

1. Pilih **Simpan perubahan**.

------
#### [ Login with Amazon ]

Untuk informasi terbaru tentang konfigurasi Login with Amazon developer account dan autentikasi, lihat [Login with Amazon Documentation](https://developer.amazon.com/docs/login-with-amazon/documentation-overview.html).

**Cara mendaftarkan aplikasi dengan Login with Amazon**

1. Buat sebuah [akun developer dengan Amazon](https://developer.amazon.com/login-with-amazon).

1. [Masuk](https://developer.amazon.com/lwa/sp/overview.html) dengan kredensial Amazon Anda.

1. Anda perlu untuk membuat profil keamanan Amazon untuk menerima ID klien dan rahasia klien Amazon.

   Pilih **Aplikasi dan Layanan** dari bilah navigasi di bagian atas halaman, lalu pilih **Login with Amazon**.

1. Pilih **Buat Profil Keamanan**.

1. Masukkan **Nama Profil Keamanan**, **Deskripsi Profil Keamanan**, dan **URL Pemberitahuan Privasi Persetujuan**.

1. Pilih **Simpan**.

1. Pilih **ID Klien** dan **Rahasia Klien** untuk menampilkan ID dan rahasia klien. Anda akan menggunakannya di bagian selanjutnya.

1. Arahkan kursor ke ikon roda gigi dan pilih **Pengaturan Web**, lalu pilih **Edit**.

1. Masukkan domain kumpulan pengguna Anda ke **Asal yang Diizinkan**.

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com
   ```

1. Masukkan domain pool pengguna Anda dengan `/oauth2/idpresponse` titik akhir ke **Return URLs yang Diizinkan**.

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
   ```

1. Pilih **Simpan**.

------
#### [ Google ]

Untuk informasi selengkapnya tentang OAuth 2.0 di platform Google Cloud, lihat [Pelajari tentang autentikasi & otorisasi di dokumentasi](https://developers.google.com/workspace/guides/auth-overview) Google Workspace for Developers.

**Cara mendaftarkan aplikasi dengan Google**

1. Buat sebuah [akun developer dengan Google](https://developers.google.com/identity).

1. Masuk ke [konsol Google Cloud Platform](https://console.cloud.google.com/home/dashboard).

1. Dari bilah navigasi atas, pilih **Pilih proyek**. Jika Anda sudah memiliki proyek di platform Google, menu ini menampilkan proyek default Anda sebagai gantinya.

1. Pilih **PROYEK BARU**.

1. Masukkan nama untuk produk Anda dan kemudian pilih **CREATE**.

1. Di bilah navigasi kiri, pilih **APIs dan Layanan**, lalu layar **persetujuan Oauth**.

1. Masukkan informasi Aplikasi, **domain Aplikasi, domain** **Resmi**, dan **informasi kontak Pengembang**. **Domain resmi** Anda harus menyertakan `amazoncognito.com` dan akar domain kustom Anda, misalnya`example.com`. Pilih **SIMPAN DAN LANJUTKAN**.

1. 1. Di bawah **Lingkup**, pilih **Tambah atau hapus cakupan**, dan pilih, minimal, cakupan berikut OAuth .

   1. `.../auth/userinfo.email`

   1. `.../auth/userinfo.profile`

   1. openid

1. Di bawah **Uji pengguna**, pilih **Tambahkan pengguna**. Masukkan alamat email Anda dan pengguna uji resmi lainnya, lalu pilih **SIMPAN DAN LANJUTKAN**.

1. Perluas bilah navigasi kiri lagi, dan pilih **APIs dan Layanan**, lalu **Kredensial**. 

1. Pilih **CREATE CREDENTIALS**, lalu **OAuth client** ID.

1. Pilih **jenis Aplikasi** dan beri **nama** klien Anda.

1. Di bawah ** JavaScript Asal resmi**, pilih **TAMBAH URI**. Masukkan domain pool pengguna Anda.

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com
   ```

1. Di bawah **Pengalihan resmi URIs**, pilih **TAMBAH URI**. Masukkan jalur ke `/oauth2/idpresponse` titik akhir domain kumpulan pengguna Anda.

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
   ```

1. Pilih **CREATE**.

1. Simpan nilai yang ditampilkan Google dengan aman di bawah **ID klien Anda** dan **rahasia klien Anda**. Berikan nilai ini ke Amazon Cognito saat Anda menambahkan Google iDP.

------
#### [ Sign in with Apple ]

Untuk mengetahui up-to-date informasi terbanyak tentang pengaturan Masuk dengan Apple, lihat [Mengonfigurasi Lingkungan Anda untuk Masuk dengan Apple](https://developer.apple.com/documentation/signinwithapple/configuring-your-environment-for-sign-in-with-apple) di dokumentasi Pengembang Apple.

**Cara mendaftarkan aplikasi dengan Masuk dengan Apple (SIWA)**

1. Buat sebuah [akun developer dengan Apple](https://developer.apple.com/programs/enroll/).

1. [Masuk](https://developer.apple.com/account/#/welcome) dengan kredensial Apple Anda.

1. Di bilah navigasi kiri, pilih **Sertifikat, Pengidentifikasi & Profil**.

1. Di bilah navigasi sebelah kiri, pilih **Pengidentifikasi**.

1. Pada halaman **Pengidentifikasi**, pilih ikon **\$1**.

1. Pada halaman **Daftarkan Pengenal Baru**, pilih **Aplikasi IDs**, lalu pilih **Lanjutkan**.

1. Pada halaman **Pilih jenis**, pilih **Aplikasi**, lalu pilih **Lanjutkan**.

1. Pada halaman **Daftarkan ID Aplikasi**, lakukan hal berikut:

   1. Di bawah **Deskripsi**, masukkan deskripsi.

   1. Di bawah **Awalan ID Aplikasi**, masukkan **ID Bundel**. Catat nilai di bawah **Awalan ID Aplikasi**. Anda akan menggunakan nilai ini setelah memilih Apple sebagai penyedia identitas Anda[Konfigurasikan kumpulan pengguna Anda dengan iDP sosial](#cognito-user-pools-social-idp-step-2).

   1. Pada **Kemampuan**, pilih **Masuk dengan Apple**, lalu pilih **Edit**.

   1. Pada halaman **Masuk dengan Apple: Konfigurasi ID Aplikasi**, pilih untuk mengatur aplikasi sebagai primer atau dikelompokkan dengan Aplikasi lain IDs, lalu pilih **Simpan**.

   1. Pilih **Lanjutkan**.

1. Pada halaman **Konfirmasi ID Aplikasi Anda**, pilih **Daftarkan**.

1. Pada halaman **Pengidentifikasi**, pilih ikon **\$1**.

1. Pada halaman **Daftarkan Pengenal Baru**, pilih **Layanan IDs**, lalu pilih **Lanjutkan**.

1. Pada halaman **Daftarkan ID Layanan**, lakukan hal berikut:

   1. Di bawah **Deskripsi**, ketikkan deskripsi.

   1. Di bawah **Pengidentifikasi**, ketikkan pengidentifikasi. Buat catatan dari ID Layanan ini karena Anda akan memerlukan nilai ini setelah Anda memilih Apple sebagai penyedia identitas di [Konfigurasikan kumpulan pengguna Anda dengan iDP sosial](#cognito-user-pools-social-idp-step-2).

   1. Pilih **Lanjutkan**, lalu **Daftar**.

1. Pilih ID Layanan yang baru saja Anda buat dari halaman Pengidentifikasi.

   1. Pilih **Masuk dengan Apple**, lalu pilih **Konfigurasi**.

   1. Pada halaman **Konfigurasi Otentikasi Web**, pilih ID aplikasi yang Anda buat sebelumnya sebagai **ID Aplikasi Utama**. 

   1. Pilih ikon **\$1** di sebelah **Situs Web URLs**. 

   1. Di bawah **Domain dan subdomain**, masukkan domain kumpulan pengguna Anda tanpa awalan. `https://`

      ```
      mydomain.auth.us-east-1.amazoncognito.com
      ```

   1. Di bawah **Return URLs**, masukkan path ke `/oauth2/idpresponse` endpoint domain pool pengguna Anda.

      ```
      https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
      ```

   1. Pilih **Berikutnya**, dan kemudian **Selesai**. Anda tidak perlu memverifikasi domain.

   1. Pilih **Lanjutkan**, lalu pilih **Simpan**.

1. Di bilah navigasi sebelah kiri, pilih **Kunci**.

1. Pada halaman **Kunci**, pilih ikon **\$1**.

1. Pada halaman **Daftarkan Kunci Baru**, lakukan hal berikut:

   1. Di bawah **Nama Kunci**, masukkan nama kunci. 

   1. Pilih **Masuk dengan Apple**, lalu pilih **Konfigurasi**.

   1. Pada halaman **Configure Key** dan pilih ID aplikasi yang Anda buat sebelumnya sebagai **ID Aplikasi Utama**. Pilih **Simpan**.

   1. Pilih **Lanjutkan**, lalu pilih **Daftarkan**.

1. Pada halaman **Unduh Kunci Anda**, pilih **Unduh** untuk mengunduh kunci pribadi dan catat **ID Kunci** yang ditampilkan, lalu pilih **Selesai**. Anda akan membutuhkan kunci privat ini dan nilai **ID Kunci** yang ditampilkan di halaman ini setelah Anda memilih Apple sebagai penyedia identitas di [Konfigurasikan kumpulan pengguna Anda dengan iDP sosial](#cognito-user-pools-social-idp-step-2).

------

## Konfigurasikan kumpulan pengguna Anda dengan iDP sosial
<a name="cognito-user-pools-social-idp-step-2"></a>

**Untuk mengkonfigurasi kumpulan pengguna sosial iDP dengan Konsol Manajemen AWS**

1. Masuk ke [Konsol Amazon Cognito](https://console.aws.amazon.com/cognito/home). Jika diminta, masukkan AWS kredensil Anda.

1. Pilih **Kolam Pengguna**.

1. Pilih kumpulan pengguna yang ada dari daftar atau buat kumpulan pengguna.

1. Pilih menu **Penyedia sosial dan eksternal**, lalu pilih **Tambahkan penyedia identitas**.

1. Pilih iDP sosial: **Facebook**, **Google**, **Login with Amazon**, atau **Masuk dengan Apple**.

1. Pilih dari langkah-langkah berikut, berdasarkan pilihan IDP sosial Anda:
   + **Google** dan **Login with Amazon** — Masukkan **ID klien aplikasi** **dan rahasia klien aplikasi** yang dihasilkan di bagian sebelumnya.
   + **Facebook** — Masukkan **ID klien aplikasi** dan **rahasia klien aplikasi** yang dihasilkan di bagian sebelumnya, lalu pilih versi API (misalnya, versi 2.12). Kami menyarankan Anda memilih versi terbaru, karena setiap API Facebook memiliki siklus hidup dan tanggal penghentian. Cakupan dan atribut Facebook dapat bervariasi antar versi API. Kami menyarankan Anda menguji login identitas sosial Anda dengan Facebook untuk memastikan bahwa federasi berfungsi sesuai keinginan Anda.
   + **Masuk dengan Apple** — Masukkan **ID Layanan, ID** **Tim, ID** **Kunci**, dan **kunci pribadi** yang dihasilkan di bagian sebelumnya.

1. Masukkan nama **cakupan Resmi** yang ingin Anda gunakan. Cakupan menentukan atribut pengguna (seperti `name` dan `email`) mana yang ingin Anda akses dengan aplikasi Anda. Untuk Facebook, ini harus dipisahkan dengan koma. Untuk Google dan Login with Amazon, mereka harus dipisahkan dengan spasi. Untuk Masuk dengan Apple, pilih kotak centang untuk cakupan yang ingin Anda akses.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/cognito/latest/developerguide/cognito-user-pools-social-idp.html)

   Pengguna aplikasi Anda diminta untuk menyetujui penyediaan atribut ini ke aplikasi Anda. Untuk informasi selengkapnya tentang cakupan penyedia sosial, lihat dokumentasi dari Google, Facebook, Login with Amazon, atau Masuk dengan Apple. 

   Dengan Masuk dengan Apple, berikut ini adalah skenario pengguna di mana cakupan mungkin tidak dikembalikan:
   + Pengguna akhir mengalami kegagalan setelah meninggalkan halaman masuk Apple (bisa dari Kegagalan internal dalam Amazon Cognito atau apa pun yang ditulis oleh pengembang)
   + ID layanan identifier digunakan di seluruh kumpulan pengguna layanan otentikasi and/or lainnya
   + Developer menambahkan cakupan tambahan setelah pengguna akhir masuk sebelumnya (tidak ada informasi baru yang diambil)
   + Developer menghapus pengguna dan kemudian pengguna masuk lagi tanpa menghapus aplikasi dari profil ID Apple mereka

1. Petakan atribut dari iDP Anda ke kumpulan pengguna Anda. Untuk informasi selengkapnya, lihat [Menentukan Pemetaan Atribut Penyedia Identitas untuk Kolam Pengguna Anda](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html).

1. Pilih **Buat**.

1. Dari menu **Klien aplikasi**, pilih klien aplikasi dari daftar. Untuk menambahkan penyedia identitas sosial baru ke klien aplikasi, navigasikan ke tab **Halaman login** dan pilih **Edit** pada **konfigurasi halaman login Terkelola**.

1. Pilih **Simpan perubahan**.

## Uji konfigurasi iDP sosial Anda
<a name="cognito-user-pools-social-idp-step-3"></a>

Dalam aplikasi Anda, Anda harus memanggil browser di klien pengguna sehingga mereka dapat masuk dengan penyedia sosial mereka. Uji login dengan penyedia sosial Anda setelah Anda menyelesaikan prosedur penyiapan di bagian sebelumnya. Contoh URL berikut memuat halaman login untuk kumpulan pengguna Anda dengan domain awalan.

```
https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com
```

Tautan ini adalah halaman yang Amazon Cognito arahkan kepada Anda saat Anda membuka menu **Klien aplikasi, pilih klien** aplikasi, arahkan ke tab **Halaman Login, dan pilih **Lihat** halaman login**. Untuk informasi selengkapnya tentang domain kumpulan pengguna, lihat[Mengkonfigurasi domain kumpulan pengguna](cognito-user-pools-assign-domain.md). Untuk informasi selengkapnya tentang klien aplikasi, termasuk klien IDs dan callback URLs, lihat[Pengaturan khusus aplikasi dengan klien aplikasi](user-pool-settings-client-apps.md).

Contoh link berikut mengatur pengalihan diam ke penyedia sosial dari [Otorisasi titik akhir](authorization-endpoint.md) dengan parameter `identity_provider` query. URL ini melewati login kumpulan pengguna interaktif dengan login terkelola dan langsung menuju ke halaman masuk IDP.

```
https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?identity_provider=Facebook|Google|LoginWithAmazon|SignInWithApple&response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com
```