Menyiapkan Masuk dengan Apple sebagai kumpulan identitas iDP - Amazon Cognito

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

Menyiapkan Masuk dengan Apple sebagai kumpulan identitas iDP

Amazon Cognito mengintegrasikan dengan Masuk dengan Apple untuk menyediakan autentikasi federasi untuk pengguna aplikasi seluler dan aplikasi web Anda. Bagian ini menjelaskan cara mendaftar dan menyiapkan aplikasi Anda menggunakan Masuk dengan Apple sebagai penyedia identitas (iDP).

Untuk menambahkan Masuk dengan Apple sebagai penyedia autentikasi ke kumpulan identitas, Anda harus menyelesaikan dua prosedur. Pertama, integrasikan Masuk dengan Apple dalam aplikasi, lalu konfigurasikan Masuk dengan Apple di kumpulan identitas. Untuk mengetahui up-to-date informasi selengkapnya tentang pengaturan Masuk dengan Apple, lihat Mengonfigurasi Lingkungan Anda untuk Masuk dengan Apple di dokumentasi Pengembang Apple.

Mengatur Masuk dengan Apple

Untuk mengonfigurasi Masuk dengan Apple sebagai IDP, daftarkan aplikasi Anda dengan Apple untuk menerima ID klien.

  1. Buat sebuah akun developer dengan Apple.

  2. Masuk dengan kredensial Apple Anda.

  3. Di panel navigasi sebelah kiri, pilih Sertifikat, ID & Profil.

  4. Di panel navigasi sebelah kiri, pilih Pengidentifikasi.

  5. Pada halaman Pengidentifikasi, pilih ikon +.

  6. Pada halaman Daftarkan Pengidentifikasi Baru, pilih ID Aplikasi, lalu pilih Lanjutkan.

  7. Pada halaman Daftarkan ID Aplikasi, lakukan hal berikut:

    1. Di bawah Deskripsi, ketikkan deskripsi.

    2. Di bawah ID Paket, ketikkan pengidentifikasi. Catat ID Bundel ini karena Anda memerlukan nilai ini untuk mengonfigurasi Apple sebagai penyedia di kumpulan identitas.

    3. Pada Kemampuan, pilih Masuk dengan Apple, lalu pilih Edit.

    4. Pada halaman Masuk dengan Apple: Konfigurasi ID Aplikasi, pilih setelan yang sesuai untuk aplikasi Anda. Lalu, pilih Simpan.

    5. Pilih Lanjutkan.

  8. Pada halaman Konfirmasi ID Aplikasi Anda, pilih Daftarkan.

  9. Lanjutkan ke langkah 10 jika Anda ingin mengintegrasikan Masuk dengan Apple dengan aplikasi iOS native. Langkah 11 adalah untuk aplikasi yang ingin Anda integrasikan dengan JS Masuk dengan Apple.

  10. Pada halaman Identifier, pilih menu ID Aplikasi, lalu ID Layanan. Pilih ikon +.

  11. Pada halaman Daftarkan Pengidentifikasi Baru, pilih ID Layanan, lalu pilih Lanjutkan.

  12. Pada halaman Daftarkan ID Layanan, lakukan hal berikut:

    1. Di bawah Deskripsi, ketikkan deskripsi.

    2. Di bawah Pengidentifikasi, ketikkan pengidentifikasi. Catat ID layanan karena Anda memerlukan nilai ini untuk mengonfigurasi Apple sebagai penyedia di kumpulan identitas Anda.

    3. Pilih Masuk dengan Apple, lalu pilih Konfigurasi.

    4. Pada halaman Konfigurasi Autentikasi Web, pilih ID Aplikasi Utama. Di bawah URL Situs Web, pilih ikon +. Untuk Domain dan Subdomain, masukkan nama domain aplikasi Anda. Di URL Pengembalian, masukkan URL panggilan balik tempat otorisasi mengalihkan pengguna setelah mereka mengautentikasi melalui Masuk dengan Apple.

    5. Pilih Selanjutnya.

    6. Pilih Lanjutkan, lalu pilih Daftarkan.

  13. Di panel navigasi sebelah kiri, pilih Kunci.

  14. Pada halaman Kunci, pilih ikon +.

  15. Pada halaman Daftarkan Kunci Baru, lakukan hal berikut:

    1. Di bawah Nama Kunci, ketikkan nama kunci.

    2. Pilih Masuk dengan Apple, lalu pilih Konfigurasi.

    3. Pada halaman Konfigurasi Kunci, pilih ID Aplikasi Utama, lalu pilih Simpan.

    4. Pilih Lanjutkan, lalu pilih Daftarkan.

catatan

Untuk mengintegrasikan Masuk dengan Apple dengan aplikasi iOS native, lihat Menerapkan Autentikasi Pengguna dengan Masuk dengan Apple.

Untuk mengintegrasikan Masuk dengan Apple di platform selain iOS native, lihat JS Masuk dengan Apple.

Konfigurasikan penyedia eksternal di konsol identitas federasi Amazon Cognito

Gunakan prosedur berikut untuk mengonfigurasi penyedia eksternal Anda.

Untuk menambahkan Masuk dengan penyedia identitas Apple (iDP)
  1. Pilih kumpulan Identitas dari konsol Amazon Cognito. Pilih kumpulan identitas.

  2. Pilih tab Akses pengguna.

  3. Pilih Tambahkan penyedia identitas.

  4. Pilih Masuk dengan Apple.

  5. Masukkan ID Layanan proyek OAuth yang Anda buat dengan Apple Developer. Untuk informasi selengkapnya, lihat Mengautentikasi pengguna dengan Masuk dengan Apple Masuk dengan Dokumentasi Apple.

  6. Untuk menyetel peran yang diminta Amazon Cognito saat mengeluarkan kredensyal 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.

      2. Pilih Resolusi Peran. Jika klaim pengguna tidak sesuai dengan aturan, Anda dapat menolak kredensyal atau mengeluarkan kredensyal untuk peran yang Diautentikasi.

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

    2. Untuk menerapkan tag utama berdasarkan sub dan aud klaim, pilih Gunakan pemetaan default.

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

  8. Pilih Simpan perubahan.

Masuk dengan Apple sebagai penyedia dalam contoh CLI identitas federasi Amazon Cognito

Contoh ini membuat kumpulan identitas bernama MyIdentityPool dengan Masuk dengan Apple sebagai iDP.

aws cognito-identity create-identity-pool --identity-pool-name MyIdentityPool --supported-login-providers appleid.apple.com="sameple.apple.clientid"

Untuk informasi selengkapnya, lihat Membuat kolam identitas

Menghasilkan sebuah ID identitas Amazon Cognito

Contoh ini menghasilkan (atau mengambil) ID Amazon Cognito. Ini adalah API publik sehingga Anda tidak perlu kredensial apa pun untuk memanggil API ini.

aws cognito-identity get-id --identity-pool-id SampleIdentityPoolId --logins appleid.apple.com="SignInWithAppleIdToken"

Untuk informasi lebih lanjut, lihat get-id.

Mendapatkan kredensial untuk ID identitas Amazon Cognito

Contoh ini mengembalikan kredensial untuk ID identitas yang diberikan dan Masuk dengan login Apple. Ini adalah API publik sehingga Anda tidak perlu kredensial apa pun untuk memanggil API ini.

aws cognito-identity get-credentials-for-identity --identity-id SampleIdentityId --logins appleid.apple.com="SignInWithAppleIdToken"

Untuk informasi lebih lanjut, lihat get-credentials-for-identity

Menggunakan Masuk dengan Apple: Android

Apple tidak menyediakan SDK yang mendukung Masuk dengan Apple untuk Android. Anda dapat menggunakan alur web dalam tampilan web sebagai gantinya.

Masuk dengan Apple menggunakan objek sesi untuk melacak keadaannya. Amazon Cognito menggunakan token ID dari objek sesi ini untuk mengautentikasi pengguna, menghasilkan pengenal unik, dan, jika diperlukan, memberikan pengguna akses ke sumber daya lain. AWS

@Override public void onSuccess(Bundle response) { String token = response.getString("id_token"); Map<String, String> logins = new HashMap<String, String>(); logins.put("appleid.apple.com", token); credentialsProvider.setLogins(logins); }

Menggunakan Masuk dengan Apple: iOS - Objective-C

Apple menyediakan dukungan SDK untuk Masuk dengan Apple di aplikasi iOS native. Untuk menerapkan autentikasi pengguna dengan Masuk dengan Apple di perangkat iOS native, ikuti Menerapkan Autentikasi Pengguna dengan Masuk dengan Apple dalam dokumentasi Apple.

Amazon Cognito menggunakan token ID untuk mengautentikasi pengguna, menghasilkan pengenal unik, dan, jika diperlukan, memberikan pengguna akses ke sumber daya lain. AWS

(void)finishedWithAuth: (ASAuthorizationAppleIDCredential *)auth error: (NSError *) error { NSString *idToken = [ASAuthorizationAppleIDCredential objectForKey:@"identityToken"]; credentialsProvider.logins = @{ "appleid.apple.com": idToken }; }

Menggunakan Masuk dengan Apple: iOS - Swift

Apple menyediakan dukungan SDK untuk Masuk dengan Apple di aplikasi iOS native. Untuk menerapkan autentikasi pengguna dengan Masuk dengan Apple di perangkat iOS native, ikuti Menerapkan Autentikasi Pengguna dengan Masuk dengan Apple dalam dokumentasi Apple.

Amazon Cognito menggunakan token ID untuk mengautentikasi pengguna, menghasilkan pengenal unik, dan, jika diperlukan, memberikan pengguna akses ke sumber daya lain. AWS

Untuk informasi selengkapnya tentang cara mengatur Masuk dengan Apple di iOS, lihat Mengatur Masuk dengan Apple

func finishedWithAuth(auth: ASAuthorizationAppleIDCredential!, error: NSError!) { if error != nil { print(error.localizedDescription) } else { let idToken = auth.identityToken, credentialsProvider.logins = ["appleid.apple.com": idToken!] } }

Gunakan Masuk dengan Apple: JavaScript

Apple tidak menyediakan SDK yang mendukung Masuk dengan Apple untuk JavaScript. Anda dapat menggunakan alur web dalam tampilan web sebagai gantinya.

Masuk dengan Apple menggunakan objek sesi untuk melacak keadaannya. Amazon Cognito menggunakan token ID dari objek sesi ini untuk mengautentikasi pengguna, menghasilkan pengenal unik, dan, jika diperlukan, memberikan pengguna akses ke sumber daya lain. AWS

function signinCallback(authResult) { // Add the apple's id token to the Amazon Cognito credentials login map. AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: 'IDENTITY_POOL_ID', Logins: { 'appleid.apple.com': authResult['id_token'] } }); // Obtain AWS credentials AWS.config.credentials.get(function(){ // Access AWS resources here. }); }

Menggunakan Masuk dengan Apple: Xamarin

Kami tidak memiliki SDK yang mendukung Masuk dengan Apple untuk Xamarin. Anda dapat menggunakan alur web dalam tampilan web sebagai gantinya.

Masuk dengan Apple menggunakan objek sesi untuk melacak keadaannya. Amazon Cognito menggunakan token ID dari objek sesi ini untuk mengautentikasi pengguna, menghasilkan pengenal unik, dan, jika diperlukan, memberikan pengguna akses ke sumber daya lain. AWS

Setelah Anda memiliki token, Anda dapat mengaturnya diCognitoAWSCredentials:

credentials.AddLogin("appleid.apple.com", token);