

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

# Tambahkan login sosial ke kumpulan pengguna Anda
<a name="tutorial-create-user-pool-social-idp"></a>

Memberikan pengguna kemampuan untuk masuk ke aplikasi Anda melalui penyedia identitas publik atau sosial yang ada dapat meningkatkan pengalaman otentikasi mereka. Kumpulan pengguna Amazon Cognito terintegrasi dengan penyedia identitas sosial populer (IdPs) seperti Facebook, Google, Amazon, dan Apple, memberi pengguna Anda opsi masuk yang nyaman yang sudah mereka kenal.

Saat Anda mengatur login sosial, Anda memberi pengguna alternatif untuk membuat akun khusus hanya untuk aplikasi Anda. Ini dapat meningkatkan tingkat konversi dan membuat proses pendaftaran lebih mulus. Dari sudut pandang pengguna, mereka dapat menerapkan kredensi sosial yang ada untuk mengautentikasi dengan cepat, tanpa gesekan mengingat nama pengguna dan kata sandi lain.

Mengkonfigurasi iDP sosial di kumpulan pengguna Anda melibatkan beberapa langkah kunci. Anda harus mendaftarkan aplikasi Anda ke penyedia sosial untuk mendapatkan ID klien dan rahasia. Kemudian Anda dapat menambahkan konfigurasi iDP sosial ke kumpulan pengguna Anda, menentukan cakupan yang ingin Anda minta dan atribut kumpulan pengguna yang ingin Anda petakan dari atribut iDP. Saat runtime, Amazon Cognito menangani pertukaran token dengan penyedia, memetakan atribut pengguna, dan mengeluarkan token ke aplikasi Anda dalam format kumpulan pengguna bersama.

## Mendaftar dengan iDP sosial
<a name="cognito-user-pools-social-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.

### Untuk mendaftarkan aplikasi dengan Facebook
<a name="register-an-app-with-facebook"></a>

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**. 

   Jika Anda tidak memiliki aplikasi Facebook yang ada, Anda akan melihat opsi yang berbeda. Pilih **Buat Aplikasi**.

1. Pada halaman **Buat aplikasi**, pilih kasus penggunaan untuk aplikasi Anda, lalu pilih **Berikutnya**.

1. Masukkan nama untuk aplikasi Facebook Anda dan pilih **Buat Aplikasi**.

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

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

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

1. Pada layar **Pilih Platform**, pilih platform Anda, lalu pilih **Berikutnya**.

1. Pilih **Simpan perubahan**.

1. Untuk **Domain Aplikasi**, masukkan domain kumpulan pengguna Anda.

   ```
   https://your_user_pool_domain
   ```

1. Pilih **Simpan perubahan**.

1. Dari bilah navigasi, pilih **Produk**, lalu pilih **Konfigurasi** dari **Login Facebook**.

1. Dari menu **Konfigurasi** **Login Facebook**, pilih **Pengaturan**.

   Masukkan URL pengalihan Anda ke Pengalihan yang **Valid OAuth **. URIs URL pengalihan terdiri dari domain kumpulan pengguna Anda dengan titik `/oauth2/idpresponse` akhir.

   ```
   https://your_user_pool_domain/oauth2/idpresponse
   ```

1. Pilih **Simpan perubahan**.

### Untuk mendaftarkan aplikasi dengan Amazon
<a name="register-an-app-with-amazon"></a>

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://<your-user-pool-domain>
   ```

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

   ```
   https://<your-user-pool-domain>/oauth2/idpresponse
   ```

1. Pilih **Simpan**.

### Untuk mendaftarkan aplikasi dengan Google
<a name="register-an-app-with-google"></a>

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.

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 pilih 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. Sebagai contoh: `example.com`. Pilih **SIMPAN DAN LANJUTKAN**.

1. 1. Di bawah **Lingkup**, pilih **Tambah atau hapus cakupan**, lalu 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 pengujian resmi lainnya, lalu pilih **SIMPAN DAN LANJUTKAN**.

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

1. Pilih **CREATE CREDENTIALS**, lalu pilih ID **OAuth klien**.

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

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

   ```
   https://<your-user-pool-domain>
   ```

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

   ```
   https://<your-user-pool-domain>/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.

### Untuk mendaftarkan aplikasi dengan Apple
<a name="register-an-app-with-apple"></a>

Untuk informasi selengkapnya 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.

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.md#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**, masukkan deskripsi.

   1. Di bawah **Identifier**, masukkan pengenal. Catat ID Layanan ini karena Anda memerlukan nilai ini setelah memilih Apple sebagai penyedia identitas Anda[Konfigurasikan kumpulan pengguna Anda dengan iDP sosial](cognito-user-pools-social-idp.md#cognito-user-pools-social-idp-step-2).

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

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

      ```
      <your-user-pool-domain>
      ```

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

      ```
      https://<your-user-pool-domain>/oauth2/idpresponse
      ```

   1. Pilih **Berikutnya**, lalu pilih **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**, 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, 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.md#cognito-user-pools-social-idp-step-2).

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

Di bagian ini, Anda mengonfigurasi IdP sosial di kolam pengguna Anda menggunakan ID klien dan rahasia klien dari bagian sebelumnya.

**Untuk mengonfigurasi penyedia identitas sosial kumpulan pengguna dengan Konsol Manajemen AWS**

1. Masuk ke [Konsol Amazon Cognito](https://console.aws.amazon.com/cognito/home). Anda mungkin diminta untuk AWS kredensialnya.

1. Pilih **Kolam Pengguna**.

1. Pilih kolam pengguna yang ada dari daftar, atau [buat kolam pengguna](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Pilih menu **penyedia sosial dan eksternal**. Cari **Masuk Federasi** dan pilih **Tambahkan penyedia identitas**.

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

1. Pilih dari langkah-langkah berikut, berdasarkan pilihan penyedia identitas 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). Sebaiknya pilih versi terbaru yang mungkin—setiap API Facebook memiliki siklus hidup dan tanggal penghentian. Cakupan dan atribut Facebook dapat bervariasi antar versi API. Kami merekomendasikan pengujian login identitas sosial Anda dengan Facebook untuk memastikan bahwa federasi berfungsi sebagaimana dimaksud.
   + **Masuk dengan Apple** — Masukkan **ID Layanan**, **ID Tim**, **ID Kunci**, dan **kunci pribadi** yang dibuat 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/tutorial-create-user-pool-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 (ini 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.
   + Pengembang menambahkan cakupan tambahan setelah pengguna masuk. Pengguna hanya mengambil informasi baru ketika mereka mengautentikasi dan ketika mereka menyegarkan token mereka.
   + Pengembang menghapus pengguna dan kemudian pengguna masuk lagi tanpa menghapus aplikasi dari profil ID Apple mereka.

1. Petakan atribut dari penyedia identitas Anda ke kumpulan pengguna Anda. Untuk informasi selengkapnya, lihat [Hal yang perlu diketahui tentang pemetaan](cognito-user-pools-specifying-attribute-mapping.md#cognito-user-pools-specifying-attribute-mapping-requirements).

1. Pilih **Buat**.

1. Dari menu **Klien aplikasi**, pilih salah satu klien aplikasi dalam daftar dan **Edit pengaturan UI yang dihosting**. Tambahkan penyedia identitas sosial baru ke klien aplikasi di bawah **Penyedia identitas**.

1. Pilih **Simpan perubahan**.

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

Anda dapat membuat URL login dengan menggunakan elemen dari dua bagian sebelumnya. Gunakan URL login itu untuk menguji konfigurasi IdP sosial Anda.

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

Anda dapat menemukan domain Anda di halaman konsol **Nama Domain** kolam pengguna. client\$1id ada di halaman **Pengaturan klien aplikasi**. Gunakan URL panggilan balik Anda untuk parameter **redirect\$1uri**. Ini adalah URL halaman tempat pengguna Anda akan diarahkan setelah autentikasi berhasil.

**catatan**  
Amazon Cognito membatalkan permintaan otentikasi yang tidak selesai dalam 5 menit, dan mengarahkan pengguna ke login terkelola. Halaman menampilkan pesan `Something went wrong` kesalahan.