

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

# Menyiapkan Google sebagai kumpulan identitas iDP
<a name="google"></a>

Kumpulan identitas Amazon Cognito bekerja dengan Google untuk menyediakan otentikasi federasi bagi pengguna aplikasi seluler Anda. Bagian ini menjelaskan cara mendaftar dan mengatur aplikasi Anda dengan Google sebagai IDP.

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

**catatan**  
Jika aplikasi Anda menggunakan Google dan tersedia di beberapa platform seluler, Anda harus mengonfigurasinya sebagai Penyedia [OpenID Connect](open-id.md). Tambahkan semua klien yang dibuat IDs sebagai nilai audiens tambahan untuk integrasi yang lebih baik. Untuk mempelajari lebih lanjut tentang model identitas lintas klien Google, lihat [Identitas lintas klien](https://developers.google.com/accounts/docs/CrossClientAuth).

**Menyiapkan Google**

Untuk mengaktifkan Google Sign-in untuk Android, buat project konsol Google Developers untuk aplikasi Anda.

1. Buka [Konsol Developer Google](https://console.developers.google.com/) dan buat proyek baru.

1. Pilih **APIs & Layanan**, lalu **layar OAuth persetujuan**. Sesuaikan informasi yang ditampilkan Google kepada pengguna Anda saat Google meminta persetujuan mereka untuk membagikan data profil mereka dengan aplikasi Anda.

1. Pilih **Kredensial**, lalu **Buat** kredensial. Pilih **ID OAuth klien**. Pilih **Android** sebagai **tipe Aplikasi**. Buat ID klien terpisah untuk setiap platform tempat Anda mengembangkan aplikasi.

1. Dari **Kredensial**, pilih **Kelola akun layanan**. Pilih **Buat akun layanan**. Masukkan detail akun layanan Anda, lalu pilih **Buat dan lanjutkan**.

1. Berikan akses akun layanan ke proyek Anda. Berikan pengguna akses ke akun layanan sesuai kebutuhan aplikasi Anda.

1. Pilih akun layanan baru Anda, pilih tab **Tombol**, dan **tombol Tambah**. Buat dan unduh kunci JSON baru.

Untuk informasi selengkapnya tentang cara menggunakan konsol Google Developers, lihat [Membuat dan mengelola project](https://cloud.google.com/resource-manager/docs/creating-managing-projects) di dokumentasi Google Cloud.

Untuk informasi selengkapnya tentang cara mengintegrasikan Google ke dalam aplikasi Android, lihat [Mengautentikasi pengguna dengan Masuk dengan Google](https://developer.android.com/identity/sign-in/credential-manager-siwg) di dokumentasi Google Identity.

**Untuk menambahkan penyedia identitas Google (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 **Google**.

1. Masukkan **ID Klien** OAuth proyek yang Anda buat di [Google Cloud Platform](https://console.cloud.google.com/). Untuk informasi selengkapnya, lihat [Menyiapkan OAuth 2.0](https://support.google.com/cloud/answer/6158849) di *Bantuan Google Cloud Platform Console*.

1. **Untuk menyetel peran yang diminta Amazon Cognito saat mengeluarkan kredensil kepada pengguna yang telah diautentikasi 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**.

**Gunakan Google**

Untuk mengaktifkan login dengan Google di aplikasi Anda, ikuti instruksi dalam [dokumentasi Google untuk Android](https://developers.google.com/identity/sign-in/android/start). Saat pengguna masuk, mereka meminta token otentikasi OpenID Connect dari Google. Amazon Cognito kemudian menggunakan token untuk mengautentikasi pengguna dan menghasilkan pengenal unik.

Kode contoh berikut menunjukkan cara mengambil token otentikasi dari layanan Google Play:

```
GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
String token = GoogleAuthUtil.getToken(getApplicationContext(), accounts[0].name,
        "audience:server:client_id:YOUR_GOOGLE_CLIENT_ID");
Map<String, String> logins = new HashMap<String, String>();
logins.put("accounts.google.com", token);
credentialsProvider.setLogins(logins);
```

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

**catatan**  
Jika aplikasi Anda menggunakan Google dan tersedia di beberapa platform seluler, konfigurasikan Google sebagai Penyedia [OpenID Connect](open-id.md). Tambahkan semua klien yang dibuat IDs sebagai nilai audiens tambahan untuk integrasi yang lebih baik. Untuk mempelajari lebih lanjut tentang model identitas lintas klien Google, lihat [Identitas lintas klien](https://developers.google.com/accounts/docs/CrossClientAuth).

**Menyiapkan Google**

Untuk mengaktifkan Google Sign-in untuk iOS, buat project konsol Google Developers untuk aplikasi Anda.

1. Buka [Konsol Developer Google](https://console.developers.google.com/) dan buat proyek baru.

1. Pilih **APIs & Layanan**, lalu **layar OAuth persetujuan**. Sesuaikan informasi yang ditampilkan Google kepada pengguna Anda saat Google meminta persetujuan mereka untuk membagikan data profil mereka dengan aplikasi Anda.

1. Pilih **Kredensial**, lalu **Buat** kredensial. Pilih **ID OAuth klien**. Pilih **iOS** sebagai **tipe Aplikasi**. Buat ID klien terpisah untuk setiap platform tempat Anda mengembangkan aplikasi.

1. Dari **Kredensial**, pilih **Kelola akun layanan**. Pilih **Buat akun layanan**. Masukkan detail akun layanan Anda, lalu pilih **Buat dan lanjutkan**.

1. Berikan akses akun layanan ke proyek Anda. Berikan pengguna akses ke akun layanan sesuai kebutuhan aplikasi Anda.

1. Pilih akun layanan baru Anda. Pilih tab **Keys**, dan **Add key**. Buat dan unduh kunci JSON baru.

Untuk informasi selengkapnya tentang cara menggunakan konsol Google Developers, lihat [Membuat dan mengelola project](https://cloud.google.com/resource-manager/docs/creating-managing-projects) di dokumentasi Google Cloud.

Untuk informasi selengkapnya tentang cara mengintegrasikan Google ke dalam aplikasi iOS, lihat [Google Sign-In untuk iOS](https://developers.google.com/identity/sign-in/ios/start-integrating) di dokumentasi Google Identity.

**Untuk menambahkan penyedia identitas Google (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 **Google**.

1. Masukkan **ID Klien** OAuth proyek yang Anda buat di [Google Cloud Platform](https://console.cloud.google.com/). Untuk informasi selengkapnya, lihat [Menyiapkan OAuth 2.0](https://support.google.com/cloud/answer/6158849) di *Bantuan Google Cloud Platform Console*.

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

**Gunakan Google**

Untuk mengaktifkan login dengan Google di aplikasi Anda, ikuti [Dokumentasi Google untuk iOS](https://developers.google.com/identity/sign-in/ios/start/). Autentikasi yang berhasil menghasilkan token autentikasi OpenID Connect, yang digunakan Amazon Cognito untuk mengautentikasi pengguna dan menghasilkan pengidentifikasi unik.

Autentikasi yang berhasil menghasilkan objek `GTMOAuth2Authentication`, yang berisi `id_token`, yang digunakan Amazon Cognito untuk mengautentikasi pengguna dan menghasilkan pengidentifikasi unik:

```
- (void)finishedWithAuth: (GTMOAuth2Authentication *)auth error: (NSError *) error {
        NSString *idToken = [auth.parameters objectForKey:@"id_token"];
        credentialsProvider.logins = @{ @(AWSCognitoLoginProviderKeyGoogle): idToken };
    }
```

## iOS - Swift
<a name="set-up-google-1.ios-swift"></a>

**catatan**  
Jika aplikasi Anda menggunakan Google dan tersedia di beberapa platform seluler, konfigurasikan Google sebagai Penyedia [OpenID Connect](open-id.md). Tambahkan semua klien yang dibuat IDs sebagai nilai audiens tambahan untuk integrasi yang lebih baik. Untuk mempelajari lebih lanjut tentang model identitas lintas klien Google, lihat [Identitas lintas klien](https://developers.google.com/accounts/docs/CrossClientAuth).

**Menyiapkan Google**

Untuk mengaktifkan Google Sign-in untuk iOS, buat project konsol Google Developers untuk aplikasi Anda.

1. Buka [Konsol Developer Google](https://console.developers.google.com/) dan buat proyek baru.

1. Pilih **APIs & Layanan**, lalu **layar OAuth persetujuan**. Sesuaikan informasi yang ditampilkan Google kepada pengguna Anda saat Google meminta persetujuan mereka untuk membagikan data profil mereka dengan aplikasi Anda.

1. Pilih **Kredensial**, lalu **Buat** kredensial. Pilih **ID OAuth klien**. Pilih **iOS** sebagai **tipe Aplikasi**. Buat ID klien terpisah untuk setiap platform tempat Anda mengembangkan aplikasi.

1. Dari **Kredensial**, pilih **Kelola akun layanan**. Pilih **Buat akun layanan**. Masukkan detail akun layanan Anda, lalu pilih **Buat dan lanjutkan**.

1. Berikan akses akun layanan ke proyek Anda. Berikan pengguna akses ke akun layanan sesuai kebutuhan aplikasi Anda.

1. Pilih akun layanan baru Anda, pilih tab **Tombol**, dan **tombol Tambah**. Buat dan unduh kunci JSON baru.

Untuk informasi selengkapnya tentang cara menggunakan konsol Google Developers, lihat [Membuat dan mengelola project](https://cloud.google.com/resource-manager/docs/creating-managing-projects) di dokumentasi Google Cloud.

Untuk informasi selengkapnya tentang cara mengintegrasikan Google ke dalam aplikasi iOS, lihat [Google Sign-In untuk iOS](https://developers.google.com/identity/sign-in/ios/start-integrating) di dokumentasi Google Identity.

Pilih **Mengelola Kolam Identitas** dari [Halaman beranda konsol Amazon Cognito](https://console.aws.amazon.com/cognito/home):

**Mengonfigurasi penyedia eksternal di Amazon Cognito Console**

1. Pilih nama kumpulan identitas tempat Anda ingin mengaktifkan Google sebagai penyedia eksternal. Halaman **Dasbor** untuk kolam identitas Anda akan muncul.

1. Di sudut kanan atas halaman **Dasbor**, pilih **Edit kolam identitas**. Halaman Edit kolam identitas akan muncul.

1. Gulir ke bawah dan pilih **Penyedia otentikasi** untuk memperluas bagian.

1. Pilih tab **Google**.

1. Pilih **Buka kunci**.

1. Masukkan ID Klien Google yang Anda peroleh dari Google, lalu pilih **Simpan Perubahan**.

**Gunakan Google**

Untuk mengaktifkan login dengan Google di aplikasi Anda, ikuti [Dokumentasi Google untuk iOS](https://developers.google.com/identity/sign-in/ios/start/). Otentikasi yang berhasil menghasilkan token otentikasi OpenID Connect yang digunakan Amazon Cognito untuk mengautentikasi pengguna dan menghasilkan pengenal unik.

Otentikasi yang berhasil menghasilkan `GTMOAuth2Authentication` objek yang berisi file`id_token`. Amazon Cognito menggunakan token ini untuk mengautentikasi pengguna dan menghasilkan pengenal unik:

```
func finishedWithAuth(auth: GTMOAuth2Authentication!, error: NSError!) {
    if error != nil {
      print(error.localizedDescription)
    }
    else {
      let idToken = auth.parameters.objectForKey("id_token")
      credentialsProvider.logins = [AWSCognitoLoginProviderKey.Google.rawValue: idToken!]
    }
}
```

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

**catatan**  
Jika aplikasi Anda menggunakan Google dan tersedia di beberapa platform seluler, Anda harus mengonfigurasi Google sebagai Penyedia [OpenID Connect](open-id.md). Tambahkan semua klien yang dibuat IDs sebagai nilai audiens tambahan untuk integrasi yang lebih baik. Untuk mempelajari lebih lanjut tentang model identitas lintas klien Google, lihat [Identitas lintas klien](https://developers.google.com/accounts/docs/CrossClientAuth).

**Menyiapkan Google**

Untuk mengaktifkan Google Sign-in untuk aplikasi JavaScript web, buat project konsol Google Developers untuk aplikasi Anda.

1. Buka [Konsol Developer Google](https://console.developers.google.com/) dan buat proyek baru.

1. Pilih **APIs & Layanan**, lalu **layar OAuth persetujuan**. Sesuaikan informasi yang ditampilkan Google kepada pengguna Anda saat Google meminta persetujuan mereka untuk membagikan data profil mereka dengan aplikasi Anda.

1. Pilih **Kredensial**, lalu **Buat** kredensial. Pilih **ID OAuth klien**. Pilih **aplikasi Web** sebagai **tipe Aplikasi**. Buat ID klien terpisah untuk setiap platform tempat Anda mengembangkan aplikasi.

1. Dari **Kredensial**, pilih **Kelola akun layanan**. Pilih **Buat akun layanan**. Masukkan detail akun layanan Anda, lalu pilih **Buat dan lanjutkan**.

1. Berikan akses akun layanan ke proyek Anda. Berikan pengguna akses ke akun layanan sesuai kebutuhan aplikasi Anda.

1. Pilih akun layanan baru Anda, pilih tab **Tombol**, dan **tombol Tambah**. Buat dan unduh kunci JSON baru.

Untuk informasi selengkapnya tentang cara menggunakan konsol Google Developers, lihat [Membuat dan mengelola project](https://cloud.google.com/resource-manager/docs/creating-managing-projects) di dokumentasi Google Cloud.

Untuk informasi selengkapnya tentang cara mengintegrasikan Google ke aplikasi web Anda, lihat [Masuk Dengan Google](https://developers.google.com/identity/gsi/web/guides/overview) di dokumentasi Identitas Google.

**Konfigurasikan Penyedia Eksternal di Konsol Amazon Cognito**

**Untuk menambahkan penyedia identitas Google (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 **Google**.

1. Masukkan **ID Klien** OAuth proyek yang Anda buat di [Google Cloud Platform](https://console.cloud.google.com/). Untuk informasi selengkapnya, lihat [Menyiapkan OAuth 2.0](https://support.google.com/cloud/answer/6158849) di *Bantuan Google Cloud Platform Console*.

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

**Gunakan Google**

Untuk mengaktifkan login dengan Google di aplikasi Anda, ikuti [Dokumentasi Google untuk Web](https://developers.google.com/identity/gsi/web/guides/overview).

Otentikasi yang berhasil menghasilkan objek respons yang berisi `id_token` yang digunakan Amazon Cognito untuk mengautentikasi pengguna dan menghasilkan pengenal unik:

```
function signinCallback(authResult) {
  if (authResult['status']['signed_in']) {

     // Add the Google access token to the Amazon Cognito credentials login map.
     AWS.config.credentials = new AWS.CognitoIdentityCredentials({
        IdentityPoolId: 'IDENTITY_POOL_ID',
        Logins: {
           'accounts.google.com': authResult['id_token']
        }
     });

     // Obtain AWS credentials
     AWS.config.credentials.get(function(){
        // Access AWS resources here.
     });
  }
}
```