Login Apple di Android
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Penggunaan login Apple di Android adalah tidak biasa. Apple tidak memiliki dukungan resmi untuk Sign in with Apple di Android, jadi solusinya sedikit kreatif.
Saat ini Android menggunakan tab Chrome untuk menampilkan situs web OAuth2. Pendekatan ini memiliki tantangan-tantangan:
- Tantangan konfigurasi yang sulit
- Diperlukan backend
Pemahaman alur pada Android.
Bab berjudul “Pemahaman 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 Anda sudah menyadari tantangan dan alur, mari kita mulai mengonfigurasi.
Membuat ID layanan
Judul bagian “Membuat ID layanan”-
Masuk ke dalam Portal Pengembang Apple.
-
Klik pada
Identifiers.
Anda harus 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 ini diaktifkan untuk aplikasi Anda- Klik pada aplikasi Anda
- Pastikan bahwa
Sign in with Applekemampuan ini diaktifkan
- Jika tidak diaktifkan, aktifkan saja.
- Klik pada aplikasi Anda
-
Kembali ke semua
All Identifiers
-
Klik pada
App Idsdan pergi keServices IDs
-
Buat identifikasi baru
-
Klik pada 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
-
Mengaktifkan
Sign in with Appleoption
-
Konfigurasi
Sign In with Apple
-
Pastikan bahwa
Primary App IDdijadikan menjadi ID Aplikasi yang telah dikonfigurasi pada langkah sebelumnya
-
Tambahkan domain yang akan Anda gunakan untuk menghosting backend Anda.
-
Mengonfirmasi data dan klik
Done
-
Klik pada
Continue
-
Klik pada
Save
-
Membuat kunci
Bab 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 ID Aplikasi utama, dan tekan
Save
-
Klik pada
Continue
-
Klik pada
Register
-
Salin ID kunci dan unduh kunci.
-
Temukan kunci yang 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 IDID ini akan digunakan di backend.
-
Pergi ke website ini dan gulir ke bawah
-
Temukan
Team ID
Konfigurasi Pengalihan Aplikasi
Bab yang berjudul 'Konfigurasi Pengalihan Aplikasi'Sebagaimana yang Anda lihat dalam diagram, backend melakukan langkah yang disebut Redirect back to the appLangkah ini memerlukan perubahan manual pada aplikasi Anda.
- Ubah
AndroidManifest.xml-
Terbuka file ini, saya akan menggunakan
AndroidStudio
-
Temukan
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 file
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);}
-
Pengaturan Backend
Bagian berjudul “Pengaturan Backend”Backend diperlukan untuk Android, tetapi mengonfigurasi backend juga akan mempengaruhi IOS. Contoh backend disediakan di sini
Contoh ini menyediakan hal-hal berikut:
- Basis data JSON sederhana
- Apa yang dapat meminta JWT dari server Apple
- Verifikasi JWT yang sederhana
Given everything that I said in this tutorial, here is how the env Bagian ini akan terlihat seperti ini:
ANDROID_SERVICE_ID= ID AplikasiIOS_SERVICE_IDID 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 Fungsi tidak berubah, sama seperti IOS. Periksa bagian tersebut untuk informasi lebih lanjut. , namun, the initialize Perubahan metode sedikit berbeda.
await SocialLogin.initialize({ apple: { clientId: 'ee.forgr.io.ionic.starter.service2', redirectUrl: 'https://appleloginvps.wcaleniewolny.me/login/callback' }})Membuat Aplikasi
Bab yang berjudul “Membuat Aplikasi”-
Jika Anda belum memiliki ID Aplikasi, klik tombol plus
-
Pilih
App IDsdan klik lanjutkan
-
Klik pada jenis
Appdan klikContinue
-
Masukkan deskripsi dan ID aplikasi
-
Mengaktifkan
Sign with Applekemampuan
-
Klik
Continue
-
Konfirmasi detail dan klik
Register
Teruskan dari login Apple di Android
Judul: Teruskan dari login Apple di AndroidJika Anda menggunakan Login Apple di Android untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-social-login untuk kemampuan native di Menggunakan @capgo/capacitor-social-login, @capgo/capacitor-login Sosial untuk detail implementasi di @capgo/capacitor-social-login, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-native-biometrik untuk detail implementasi di @capgo/capacitor-native-biometric, dan Autentikasi dua faktor untuk detail implementasi di Autentikasi dua faktor.