Migrasi Sign-In Apple ke @capgo/social-login
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Ringkasan
Bab berjudul “Ringkasan”Panduan ini menjelaskan transisi dari plugin legacy ke plugin modern. @capacitor-community/apple-sign-in plugin ke dalam versi modern @capgo/capacitor-social-login Paket. Plugin baru ini menyediakan antarmuka yang terintegrasi untuk beberapa penyedia autentikasi sosial dengan dukungan TypeScript yang ditingkatkan dan perawatan aktif.
Installation
Section titled “Installation”-
Tampilan terminal
Salin ke clipboard npm uninstall @capacitor-community/apple-sign-in -
Paket lama harus dihapus:
Jendela Terminal npm install @capgo/capacitor-social-loginnpx cap sync
Code Perubahan
Bab berjudul “Code Perubahan”Import Perubahan
Bab berjudul “Import Perubahan”import { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';Inisialisasi
Bab berjudul “Inisialisasi”Perubahan Kunci: Plugin baru memerlukan langkah inisialisasi yang tidak perlu sebelumnya.
// No initialization needed in old package// For iOS: Basic configurationawait SocialLogin.initialize({ apple: {} // Basic iOS configuration});
// For Android: Additional configuration requiredawait SocialLogin.initialize({ apple: { clientId: 'YOUR_SERVICE_ID', // Service ID from Apple Developer Portal redirectUrl: 'https://your-backend.com/callback' // Your backend callback URL }});Peringatan Penting: Untuk iOS, Anda menyediakan konfigurasi dasar, sementara Android memerlukan detail tambahan termasuk ID Layanan dan URL panggilan balik backend untuk autentikasi OAuth berbasis web.
Tanda Masuk
Bab berjudul “Tanda Masuk”Proses login memudahkan dari parameter multiple ke API yang lebih bersih:
const result = await SignInWithApple.authorize({ clientId: 'com.your.app', redirectURI: 'https://your-app.com/callback', scopes: 'email name', state: '12345', nonce: 'nonce'});
const result = await SocialLogin.login({ provider: 'apple', options: { // Optional: Add scopes if needed scopes: ['email', 'name'], nonce: 'nonce' }});Plugin baru menggunakan login() dengan provider: 'apple' dan ruang lingkup opsional bukan mengirimkan nilai konfigurasi individu seperti clientId dan redirectURI.
Perubahan Tipe Respons
Section titled “Response Type Changes”Hasil sekarang termasuk sebuah accessToken objek dengan detail kedaluwarsa dan struktur profile Mengganti bagian, menggantikan format respons yang lebih sederhana dari paket asli:
// Old response typeinterface AppleSignInResponse { response: { user: string; email: string | null; givenName: string | null; familyName: string | null; identityToken: string | null; authorizationCode: string | null; };}
// New response typeinterface SocialLoginResponse { provider: 'apple'; result: { accessToken: { token: string; expiresIn?: number; refreshToken?: string; } | null; idToken: string | null; profile: { user: string; email: string | null; givenName: string | null; familyName: string | null; }; };}Bagian berjudul “Fungsi Baru”
Section titled “New Capabilities”Fungsi plugin yang diperbarui ini memperkenalkan fitur yang tidak tersedia di versi sebelumnya:
Mengecek Status Login
// Not available in old packageconst status = await SocialLogin.isLoggedIn({ provider: 'apple'});Metode-metode ini menyediakan
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});Menggunakan Metode ini isLoggedIn() untuk memverifikasi status autentikasi dan logout() functionality.
Bahasa Khusus Platform
Bab berjudul “Bahasa Khusus Platform”Pengaturan iOS
Bab berjudul “Pengaturan iOS”iOS menjaga prosedur pengaturan yang familiar melalui kemampuan Xcode:
- Pengaturan iOS tetap besarannya sama. Anda masih perlu:
- Mengaktifkan kemampuan “Masuk dengan Apple” di Xcode
- Mengonfigurasi aplikasi di Portal Pengembang Apple
- Tidak ada perubahan tambahan code yang diperlukan untuk iOS
Konfigurasi Android
Judul Bagian “Konfigurasi Android”Android sekarang mendapatkan dukungan asli melalui autentikasi OAuth berbasis web:
Plugin baru ini menyediakan dukungan Android secara langsung, tetapi memerlukan konfigurasi tambahan:
- Buat ID Layanan di Portal Pengembang Apple
- Konfigurasi endpoint autentikasi web
- Konfigurasi aplikasi Android Anda untuk mengelola aliran OAuth
- Konfigurasi layanan backend diperlukan
Untuk instruksi konfigurasi Android yang lebih rinci, silakan refer ke Petunjuk Konfigurasi Android.
Kelebihan Utama
Judul Bagian: Kelebihan UtamaPaket yang telah dimodernisasi menyediakan:
- Fasilitas API Terintegrasi di berbagai penyedia jejaring sosial (Google, Facebook, Apple)
- Pengembangan Tipe yang Lebih Baik dengan definisi tipe yang lebih baik
- Pemeliharaan Komunitas Aktif bandingkan dengan versi yang telah ditinggalkan
- Dukungan Android yang Terintegrasi melalui autentikasi berbasis web
- Pengelolaan Status Login yang Tahan Lama
- Penanganan Kesalahan yang Lebih Baik dengan jenis kesalahan yang konsisten
Perubahan Mendasar
Judul Bagian “Perubahan Mendasar”- Inisialisasi eksplisit sekarang diperlukan - tidak ada konfigurasi default
- Struktur objek respons telah berubah - format hasil yang terstruktur
- Implementasi Android memerlukan layanan backend untuk OAuth
- Pengelolaan token telah berbeda - pengelolaan token yang ditingkatkan
- Pengelolaan kesalahan dan jenis kesalahan telah berubah - error yang lebih rinci
Untuk instruksi pengaturan yang lebih rinci, silakan lihat documentasi resmi.
Teruskan dari Migrasi Sign-In Apple ke @capgo/social-login
Judul: Teruskan dari Migrasi Sign-In Apple ke @capgo/social-loginJika Anda menggunakan Migrasi Sign-In Apple ke @capgo/social-login 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.