Login Apple di 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 solusi ini sedikit tidak biasa.
Android saat ini menggunakan tab Chrome untuk menampilkan situs web OAuth2. Pendekatan ini memiliki tantangan:
- Konfigurasi yang sulit
- Diperlukan backend
Mengerti alur pada Android.
Judul bagian “Mengerti alur pada Android.”Biarkan saya menggunakan diagram untuk menjelaskan alur 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 bahwa Anda menyadari tantangan dan aliran, mari kita mulai konfigurasi.
Membuat ID layanan
Judul bagian “Membuat ID layanan”-
Masuk ke portal Portal Pengembang Apple.
-
Klik pada
Identifiers.
Anda seharusnya melihat layar yang terlihat seperti ini:
- Pastikan bahwa bidang ini mengatakan
App IDs - Pastikan Anda dapat menemukan ID Aplikasi Anda.
- Pastikan bahwa bidang ini mengatakan
-
Pastikan bahwa
Sign in with Applekemampuan diaktifkan untuk aplikasi Anda- Klik pada aplikasi Anda
- Pastikan bahwa
Sign in with Applekemampuan diaktifkan
- Jika tidak diaktifkan, aktifkanlah.
- Klik pada aplikasi Anda
-
Kembali ke semua
All Identifiers
-
Klik pada
App Idsdan pergi keServices IDs
-
Buat identifier baru
-
Klik pada tombol plus
-
Pilih
Servcice IDsdan klikContinue
-
Masukkan deskripsi dan identifier dan klik
Continuie.
-
Silakan verifikasi detail dan klik
Register
-
Klik pada layanan baru yang telah dibuat
-
Mengaktifkan opsi
Sign in with AppleMengaktifkan Sign in dengan Apple untuk ID layanan
-
Konfigurasi tombol untuk Sign in dengan Apple
Sign In with Apple
-
Pastikan bahwa
Primary App IDdiatur ke ID Aplikasi yang telah dikonfigurasi pada langkah sebelumnya
-
Tambahkan domain yang akan Anda gunakan untuk menghosting 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 kunci
-
Pilih
Sign in with Appledan klikConfigure
-
Pilih App ID utama, dan tekan
Save
-
Klik pada
Continue
-
Klik pada
Register
-
Salin ID kunci dan download kunci.
-
Cari kunci yang telah diunduh dan simpan di folder backend.
Mendapatkan ID Tim
Bab berjudul “Mendapatkan ID Tim”Untuk menggunakan Login with Apple di Android, Anda perlu mendapatkan Team ID . Ini akan digunakan di backend.
-
Kunjungi website ini dan gulirkan ke bawah
-
Cari lokasi ID Tim di akun pengembang
Team ID
Bagian berjudul “Mengatur 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
- Buka file ini, saya akan menggunakan
AndroidManifest.xml-
File AndroidManifest.xml di Android Studio
AndroidStudio
-
dan tambahkan filter Intent berikut ini
MainActivity__CAPGO_KEEP_0__
<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>
-
- Ubah
MainActivity-
Silakan buka
MainActivity
-
Tambahkan kode berikut code:
@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
Bagian berjudul “Konfigurasi Backend”Diperlukan backend untuk Android, tetapi mengonfigurasi backend juga akan mempengaruhi IOS. Contoh backend disediakan di sini
Contoh ini menyediakan hal berikut:
- Database JSON sederhana
- Cara meminta JWT dari server Apple
- Verifikasi JWT sederhana
bagian ini akan terlihat: env = ID Layanan
ANDROID_SERVICE_ID__CAPGO_KEEP_0__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"}Menggunakan plugin
Bagian berjudul “Menggunakan plugin”Penggunaan fungsi tidak berubah, sama seperti IOS. Silakan lihat bagian tersebut untuk informasi lebih lanjut. login TETAPI , metodeberubah sedikit. initialize Salin ke clipboard
await SocialLogin.initialize({ apple: { clientId: 'ee.forgr.io.ionic.starter.service2', redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback' }})Membuat aplikasi
Judul bagian “Membuat aplikasi”-
Jika Anda belum memiliki ID Aplikasi, klik tombol plus
-
Pilih
App IDsdan klik lanjutkan
-
Klik pada tipe
Appdan klikContinue
-
Masukkan deskripsi dan ID aplikasi
-
Mengaktifkan
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-social untuk kemampuan asli di Menggunakan @capgo/capacitor-login-social, @capgo/capacitor-login-social untuk detail implementasi di @capgo/capacitor-login-social, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-biometrik native untuk detail implementasi di @capgo/capacitor-biometrik native, dan Autentikasi dua faktor untuk detail implementasi di Autentikasi dua faktor.