Lompat ke konten

Login Apple pada Android

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

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

  • Konfigurasi yang sulit
  • Diperlukan backend

Biarkan saya menggunakan diagram untuk menjelaskan aliran pada android:

Sekarang Anda menyadari tantangan dan aliran, mari kita mulai konfigurasi.

  1. Masuk ke Portal Pengembang Apple.

  2. Klik pada Identifiers.

    Portal Pengembang Apple Identifikasi bagian

    Anda seharusnya melihat layar yang terlihat seperti ini:

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

    1. Klik pada aplikasi Anda Memilih aplikasi dari daftar
    2. Pastikan bahwa Sign in with Apple kemampuan diaktifkan Kotak centang kemampuan Sign in dengan Apple diaktifkan
    3. Jika tidak diaktifkan, aktifkan.
  4. Kembali ke semua All Identifiers

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

    Navigasi ke bagian ID Layanan
  6. Buat identifikasi baru

    1. Klik tombol plus

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

      Pilihan ID Layanan
    3. Masukkan deskripsi dan identifikasi dan klik Continuie.

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

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

      Memilih ID layanan yang baru dibuat
    6. Aktifkan Sign in with Apple pilihan

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

      Tombol Konfigurasi untuk Sign in dengan Apple
    8. Pastikan Primary App ID dipasang ke ID Aplikasi yang dikonfigurasi pada langkah sebelumnya

      Mengatur dropdown ID Aplikasi Utama
    9. Tambahkan domain yang Anda akan host backend Anda.

      Mengatur 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 konfigurasi layanan
  1. Kembali ke semua All Identifiers

    Tombol navigasi Identifikasi Semua
  2. Klik pada Keys

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

    Tombol Tambah Kunci Baru
  4. Berikan nama pada 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 Continue

    Tombol Lanjutkan untuk pengaturan kunci
  8. Klik pada Register

    Tombol pendaftaran untuk pembuatan kunci
  9. Salin ID kunci dan download kunci.

    Layar ID kunci dan tombol download
  10. Temukan file kunci yang telah di download dan simpan di folder backend.

    File kunci yang telah di download

Mendapatkan ID Tim

Mendapatkan ID Tim

Untuk menggunakan Login with Apple di Android, Anda perlu mendapatkan Team IDID ini akan digunakan di backend.

  1. Kunjungi situs web ini dan gulir ke bawah

  2. Cari lokasi Team ID

    ID Tim di akun pengembang

Mengonfigurasi pengalihan aplikasi

Mendapatkan ID Tim

Mengonfigurasi pengalihan aplikasi Redirect back to the app. Ini memerlukan perubahan manual pada aplikasi Anda.

  1. Ubahlah AndroidManifest.xml
    1. Buka file ini, saya akan menggunakan AndroidStudio

      File AndroidManifest.xml di Android Studio
    2. Cari MainActivity dan tambahkan filter Intent berikut

      Filter Intent code untuk menambahkan di 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. Ubahlah MainActivity
    1. Silakan buka MainActivity

      File MainActivity.java di Android Studio
    2. Tambahkan code berikut:

      Untuk menambahkan Code ke MainActivity untuk menghandle deep link
      @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);
      }

Diperlukan backend untuk Android, tetapi mengonfigurasi backend juga akan mempengaruhi IOS. Contoh backend disediakan di sini

Contoh ini menyediakan hal-hal berikut:

  • Database JSON sederhana
  • Cara meminta JWT dari server Apple
  • Verifikasi JWT sederhana

bagian ini akan terlihat: env = ID Layanan

  • ANDROID_SERVICE_ID = ID Aplikasi
  • IOS_SERVICE_ID Salin ke clipboard
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"
}

= Service ID login = App ID TAPI, metode berubah sedikit. initialize Salin ke clipboard

await SocialLogin.initialize({
apple: {
clientId: 'ee.forgr.io.ionic.starter.service2',
redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback'
}
})

Judul bagian “Membuat aplikasi”

Perlu diingat,
  1. Jika Anda belum memiliki ID Aplikasi, klik tombol plus

    Tombol plus untuk menambahkan identifier baru
  2. Pilih App IDs dan klik lanjutkan

    Mengilih jenis ID Aplikasi
  3. Klik pada jenis App dan klik Continue

    Mengilih jenis aplikasi
  4. Masukkan deskripsi dan ID aplikasi

    Memasukkan deskripsi aplikasi dan ID aplikasi
  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

Jika Anda menggunakan Login Apple di Android untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-login-sosial untuk kemampuan asli dalam Menggunakan @capgo/capacitor-login-sosial, @capgo/capacitor-login-sosial untuk detail implementasi dalam @capgo/capacitor-login-sosial, @capgo/capacitor-passkey untuk detail implementasi dalam @capgo/capacitor-passkey, @capgo/capacitor-biometrik-asli untuk detail implementasi dalam @capgo/capacitor-biometrik-asli, dan Autentikasi dua faktor untuk detail implementasi dalam Autentikasi dua faktor.