Login Apple pada Android
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
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
Mengerti aliran pada android.
Judul Bagian “Mengerti aliran pada android.”Biarkan saya menggunakan diagram untuk menjelaskan aliran pada android:
flowchart TD
A("await SocialLogin.login()") -->|Handled in the plugin|B(Generate the login URL)
B --> |Pass the link| C(Open the Chrome browser)
C --> D(Wait for the user to login)
D --> |Apple redirects to your backend|E(Handle the data returned from Apple)
E --> F(Redirect back to the app)
F --> G(Return to JS) Sekarang Anda menyadari tantangan dan aliran, mari kita mulai konfigurasi.
Membuat ID layanan
Judul Bagian “Membuat ID layanan”-
Masuk ke Portal Pengembang Apple.
-
Klik pada
Identifiers.
Anda seharusnya melihat layar yang terlihat seperti ini:
- Pastikan bidang ini mengatakan
App IDs - Pastikan Anda bisa menemukan ID Aplikasi Anda.
- Pastikan bidang ini mengatakan
-
Pastikan bahwa
Sign in with Applekemampuan ini diaktifkan untuk aplikasi Anda- Klik pada aplikasi Anda
- Pastikan bahwa
Sign in with Applekemampuan diaktifkan
- Jika tidak diaktifkan, aktifkan.
- Klik pada aplikasi Anda
-
Kembali ke semua
All Identifiers
-
Klik pada
App Idsdan pergi keServices IDs
-
Buat identifikasi baru
-
Klik tombol plus
-
Pilih
Servcice IDsdan klikContinue
-
Masukkan deskripsi dan identifikasi dan klik
Continuie.
-
Silakan verifikasi detail dan klik
Register
-
Klik pada layanan baru yang telah dibuat
-
Aktifkan
Sign in with Applepilihan
-
Konfigurasi
Sign In with Apple
-
Pastikan
Primary App IDdipasang ke ID Aplikasi yang dikonfigurasi pada langkah sebelumnya
-
Tambahkan domain yang Anda akan host backend Anda.
-
Konfirmasi data dan klik
Done
-
Klik pada
Continue
-
Klik pada
Save
-
Membuat kunci
Bagian berjudul “Membuat kunci”-
Kembali ke semua
All Identifiers
-
Klik pada
Keys
-
Klik pada ikon plus
-
Berikan nama pada kunci
-
Pilih
Sign in with Appledan klikConfigure
-
Pilih ID Aplikasi utama, dan tekan
Save
-
Klik
Continue
-
Klik pada
Register
-
Salin ID kunci dan download kunci.
-
Temukan file kunci yang telah di download dan simpan di folder backend.
Mendapatkan ID Tim
Mendapatkan ID TimUntuk menggunakan Login with Apple di Android, Anda perlu mendapatkan Team IDID ini akan digunakan di backend.
-
Kunjungi situs web ini dan gulir ke bawah
-
Cari lokasi
Team ID
Mengonfigurasi pengalihan aplikasi
Mendapatkan ID TimMengonfigurasi pengalihan aplikasi Redirect back to the app. Ini memerlukan perubahan manual pada aplikasi Anda.
- Ubahlah
AndroidManifest.xml-
Buka file ini, saya akan menggunakan
AndroidStudio
-
Cari
MainActivitydan tambahkan filter Intent berikut
<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>
-
- Ubahlah
MainActivity-
Silakan buka
MainActivity
-
Tambahkan code berikut:
@Overrideprotected 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);}
-
Konfigurasi Backend
Judul bagian “Konfigurasi Backend”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 AplikasiIOS_SERVICE_IDSalin 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"}Bagian berjudul “Menggunakan plugin”
Penggunaan fungsi tidak berubah, sama seperti IOS. Silakan lihat bagian itu untuk informasi lebih lanjut.= 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,-
Jika Anda belum memiliki ID Aplikasi, klik tombol plus
-
Pilih
App IDsdan klik lanjutkan
-
Klik pada jenis
Appdan klikContinue
-
Masukkan deskripsi dan ID aplikasi
-
Aktifkan
Sign with Applekemampuan
-
Klik
Continue
-
Konfirmasi detail dan klik
Register
Lanjutkan dari login Apple di Android
Judul bagian “Lanjutkan dari login Apple di Android”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.