Lebih cepat ke konten

Login Apple di Android

Login Apple di Android adalah tidak biasa. Apple tidak memiliki dukungan resmi untuk Sign in with Apple di Android, jadi solusinya sedikit tidak biasa.

Android saat ini menggunakan tab Chrome untuk menampilkan situs web OAuth2. Pendekatan ini memiliki tantangan:

  • Konfigurasi sulit
  • Diperlukan backend

Mengerti alur di Android.

Mengerti Aliran pada Android.

Saya akan menggunakan diagram untuk menjelaskan aliran pada Android:

Sekarang Anda sudah menyadari tantangan dan aliran, mari kita mulai mengkonfigurasi.

  1. Masuk ke Portal Pengembang Apple.

  2. Klik pada Identifiers.

    Bagian Identifikasi Portal Pengembang Apple

    Anda seharusnya melihat layar yang seperti ini:

    Layar Identifikasi Portal Pengembang Apple
    1. Pastikan bidang ini mengatakan App IDs
    2. Pastikan Anda dapat menemukan ID Aplikasi Anda.
  3. Pastikan bahwa Sign in with Apple kemampuan

    1. dapat diaktifkan untuk aplikasi Anda Klik pada aplikasi Anda
    2. Mengilih aplikasi Anda dari daftar Sign in with Apple __CAPGO_KEEP_0__ Tanda centang untuk mengaktifkan kemampuan Sign in dengan Apple
    3. Jika tidak diaktifkan, aktifkan saja.
  4. Kembali ke semua All Identifiers

    Tombol navigasi untuk semua Identifikasi
  5. Klik pada App Ids dan pergi ke Services IDs

    Navigasi ke bagian ID Layanan
  6. Buat identifikasi baru

    1. Klik pada tombol plus

      Tombol tambah ID layanan baru
    2. Pilih Servcice IDs dan klik Continue

      Pilih Opsi ID Layanan
    3. Masukkan deskripsi dan identifikasi dan klik Continuie.

      Memasukkan detail ID layanan
    4. Silakan memastikan detail dan klik Register

      Mengonfirmasi registrasi ID Layanan
    5. Klik pada layanan baru yang telah dibuat

      Mengilih ID Layanan baru yang telah dibuat
    6. Aktifkan opsi Sign in with Apple Aktifkan opsi

      Mengaktifkan Sign in dengan Apple untuk ID layanan
    7. Konfigurasi tombol Sign In with Apple

      Konfigurasi tombol Sign in dengan Apple
    8. Pastikan bahwa Primary App ID dibuat menjadi ID Aplikasi yang telah dikonfigurasi pada langkah sebelumnya

      Menetapkan dropdown ID Aplikasi Utama
    9. Tambahkan domain yang akan Anda gunakan untuk menghosting backend Anda.

      Menetapkan bidang domain dan URL kembali
    10. Konfirmasi data dan klik Done

      Konfirmasi pengaturan domain dan URL kembali
    11. Klik pada Continue

      Tombol Lanjutkan untuk pengaturan layanan
    12. Klik pada Save

      Tombol Simpan untuk pengaturan layanan
  1. Kembali ke semua All Identifiers

    Tombol navigasi semua Identifikasi
  2. Klik pada Keys

    Bagian Keys di Portal Pengembang Apple
  3. Klik pada ikon plus

    Tombol tambah kunci baru
  4. Berikan nama kunci

    Mengisi bidang nama kunci
  5. Pilih Sign in with Apple dan klik Configure

    Mengaktifkan dan mengonfigurasi Sign in dengan Apple untuk kunci
  6. Pilih ID Aplikasi utama, dan tekan Save

    Mengatur ID Aplikasi utama untuk kunci
  7. Klik pada Continue

    Tombol Lanjutkan untuk pengaturan kunci
  8. Klik pada Register

    Tombol Daftar untuk pembuatan kunci
  9. Salin ID kunci dan unduh kunci.

    Tampilan layar ID kunci dan tombol download
  10. Temukan file kunci yang diunduh dan simpan di folder backend.

    File kunci yang diunduh

Untuk menggunakan Login with Apple di Android, Anda perlu mendapatkan Team ID. Akan digunakan di backend.

  1. Pergi ke situs web ini dan gulir ke bawah

  2. Cari lokasi ID Tim di akun pengembang Team ID

    Mengonfigurasi pengalihan aplikasi

Bagian berjudul “Mengonfigurasi pengalihan aplikasi”

Seperti yang Anda lihat dalam diagram, backend melakukan langkah yang disebut

. Ini memerlukan perubahan manual pada aplikasi Anda. Redirect back to the appUbah

  1. Buka file, saya akan menggunakan AndroidManifest.xml
    1. Mengonfigurasi pengalihan aplikasi AndroidStudio

      File AndroidManifest.xml di Android Studio
    2. Cari dan tambahkan filter Intent berikut MainActivity Filter Intent __CAPGO_KEEP_0__ untuk menambahkan di MainActivity

      Intent filter code to add in MainActivity
      <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="capgo-demo-app" android:host="path" />
      </intent-filter>
  2. Silakan buka MainActivity
    1. File MainActivity.java di Android Studio MainActivity

      Tambahkan filter Intent berikut:
    2. code untuk menambahkan ke MainActivity untuk menghandle tautan dalam

      Code to add to MainActivity for handling deep links
      @Override
      protected void onNewIntent(Intent intent) {
      String action = intent.getAction();
      Uri data = intent.getData();
      if (Intent.ACTION_VIEW.equals(action) && data != null) {
      PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
      if (pluginHandle == null) {
      Log.i("Apple Login Intent", "SocialLogin login handle is null");
      return;
      }
      Plugin plugin = pluginHandle.getInstance();
      if (!(plugin instanceof SocialLoginPlugin)) {
      Log.i("Apple Login Intent", "SocialLogin plugin instance is not SocialLoginPlugin");
      return;
      }
      ((SocialLoginPlugin) plugin).handleAppleLoginIntent(intent);
      return;
      }
      super.onNewIntent(intent);
      }

Backend diperlukan untuk Android, tetapi mengonfigurasi backend juga akan mempengaruhi IOS. Contoh backend disediakan __CAPGO_KEEP_0__ di sini

Contoh ini menyediakan hal-hal berikut:

  • Suatu database JSON sederhana
  • Cara meminta JWT dari server Apple
  • Suatu verifikasi JWT sederhana

Berikut ini adalah cara kerja: env Bagian ini akan terlihat seperti ini:

  • ANDROID_SERVICE_ID = ID Layanan
  • IOS_SERVICE_ID = ID Aplikasi
env: {
PRIVATE_KEY_FILE: "AuthKey_U93M8LBQK3.p8",
KEY_ID: "U93M8LBQK3",
TEAM_ID: "UVTJ336J2D",
ANDROID_SERVICE_ID: "ee.forgr.io.ionic.starter.service2",
IOS_SERVICE_ID: "me.wcaleniewolny.test.ionic.vue",
PORT: 3000,
REDIRECT_URI: "https://xyz.wcaleniewolny.me/login/callback",
BASE_REDIRECT_URL: "capgo-demo-app://path"
}

Penggunaan fungsi tidak berubah, sama seperti di IOS. Silakan lihat bagian tersebut untuk informasi lebih lanjut. login TETAPI , metodeberubah sedikit. initialize Bagian berjudul “Menggunakan plugin”

await SocialLogin.initialize({
apple: {
clientId: 'ee.forgr.io.ionic.starter.service2',
redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback'
}
})
  1. Jika Anda belum memiliki ID Aplikasi, klik tombol plus

    Tambahkan tombol identifikasi baru plus
  2. Pilih App IDs dan klik lanjutkan

    Mengatur Tipe ID Aplikasi
  3. Klik pada tipe App dan klik Continue

    Mengatur Tipe Aplikasi
  4. Masukkan deskripsi dan ID aplikasi

    Mengisi Deskripsi Aplikasi dan ID Paket
  5. Aktifkan Sign with Apple kemampuan

    Mengaktifkan Kemampuan Sign in dengan Apple
  6. Klik Continue

    Tombol Lanjutkan untuk registrasi aplikasi
  7. Konfirmasi detail dan klik Register

    Mengkonfirmasi detail registrasi aplikasi