Login Apple di Android
Copy 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, 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:
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 aliran, mari kita mulai mengkonfigurasi.
Membuat ID Layanan
Judul Bagian “Membuat ID Layanan”-
Masuk ke Portal Pengembang Apple.
-
Klik pada
Identifiers.
Anda seharusnya melihat layar yang seperti ini:
- Pastikan bidang ini mengatakan
App IDs - Pastikan Anda dapat menemukan ID Aplikasi Anda.
- Pastikan bidang ini mengatakan
-
Pastikan bahwa
Sign in with Applekemampuan- dapat diaktifkan untuk aplikasi Anda
- Mengilih aplikasi Anda dari daftar
Sign in with Apple__CAPGO_KEEP_0__
- Jika tidak diaktifkan, aktifkan saja.
- dapat diaktifkan untuk 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 memastikan detail dan klik
Register
-
Klik pada layanan baru yang telah dibuat
-
Aktifkan opsi
Sign in with AppleAktifkan opsi
-
Konfigurasi tombol
Sign In with Apple
-
Pastikan bahwa
Primary App IDdibuat menjadi 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 ID Aplikasi utama, dan tekan
Save
-
Klik pada
Continue
-
Klik pada
Register
-
Salin ID kunci dan unduh kunci.
-
Temukan file kunci yang diunduh dan simpan di folder backend.
Mendapatkan ID Tim
Bagian berjudul “Mendapatkan ID Tim”Untuk menggunakan Login with Apple di Android, Anda perlu mendapatkan Team ID. Akan digunakan di backend.
-
Pergi ke situs web ini dan gulir ke bawah
-
Cari lokasi ID Tim di akun pengembang
Team ID
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
- Buka file, saya akan menggunakan
AndroidManifest.xml-
Mengonfigurasi pengalihan aplikasi
AndroidStudio
-
Cari dan tambahkan filter Intent berikut
MainActivityFilter Intent __CAPGO_KEEP_0__ 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>
-
- Silakan buka
MainActivity-
File MainActivity.java di Android Studio
MainActivity
-
code untuk menambahkan ke MainActivity untuk menghandle tautan dalam
@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”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 LayananIOS_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 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' }})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
-
Aktifkan
Sign with Applekemampuan
-
Klik
Continue
-
Konfirmasi detail dan klik
Register