Migrasi Sign-In Apple ke @capgo/social-login
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Ringkasan
Judul bagian “Ringkasan”Panduan ini menjelaskan transisi dari plugin legacy ke plugin modern. @capacitor-community/apple-sign-in plugin ke plugin modern. @capgo/capacitor-social-login Plugin baru menyediakan antarmuka yang terintegrasi untuk penyedia autentikasi sosial yang lebih dari satu dengan dukungan TypeScript yang diperbarui dan perawatan aktif.
Pemasangan
Bagian berjudul “Pemasangan”-
Hapus paket lama:
Jendela terminal npm uninstall @capacitor-community/apple-sign-in -
Pasang paket baru:
Jendela terminal npm install @capgo/capacitor-social-loginnpx cap sync
Code Perubahan
Bagian berjudul “Code Perubahan”Impor Perubahan
Bagian berjudul “Impor Perubahan”import { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';Inisialisasi
Bagian berjudul “Inisialisasi”Kunci Perubahan: 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 }});Perhatian Penting: Untuk iOS, Anda menyediakan konfigurasi dasar, sedangkan Android memerlukan detail tambahan termasuk ID Layanan dan URL panggilan balik backend untuk autentikasi OAuth berbasis web.
Proses login disederhanakan dari parameter banyak 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 ini menggunakan login() dengan provider: 'apple' dan skop opsional daripada melewati nilai konfigurasi individu seperti clientId dan redirectURI.
Perubahan Tipe Respons
Bagian berjudul “Perubahan Tipe Respons”Hasil sekarang termasuk accessToken objek dengan detail kedaluwarsa dan struktur profile bagian, menggantikan format respons yang lebih datar 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; }; };}Kemampuan Baru
Bagian berjudul “Kemampuan Baru”Plugin yang diperbarui memperkenalkan fungsi yang tidak tersedia di pendahulunya:
Mengecek Status Login
// Not available in old packageconst status = await SocialLogin.isLoggedIn({ provider: 'apple'});Fungsi Logout
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});Metode-metode ini menyediakan isLoggedIn() untuk memverifikasi status autentikasi dan logout() fungsi.
Perubahan Spesifik Platform
Bagian berjudul “Perubahan Spesifik Platform”Pengaturan iOS
Bagian berjudul “Pengaturan iOS”iOS memelihara prosedur pengaturan yang familiar melalui kemampuan Xcode:
- Pengaturan iOS tetap besarannya sama. Anda masih perlu:
- Mengaktifkan kemampuan “Masuk dengan Apple” di Xcode
- Mengonfigurasi aplikasi Anda di Portal Pengembang Apple
- Tidak ada perubahan tambahan code yang diperlukan untuk iOS
Pengaturan Android
Bagian berjudul “Pengaturan Android”Android sekarang mendapatkan dukungan asli melalui autentikasi OAuth berbasis web:
Plugin baru menyediakan dukungan Android secara langsung, tetapi memerlukan pengaturan tambahan:
- Buat ID Layanan di Portal Pengembang Apple
- Konfigurasi endpoint autentikasi web
- Konfigurasi aplikasi Android Anda untuk mengelola aliran OAuth
- Diperlukan konfigurasi layanan backend
Untuk instruksi setup Android yang lebih rinci, silakan lihat Petunjuk Setup Android.
Kelebihan Utama
Bab berjudul “Kelebihan Utama”Paket modern yang menyediakan:
- API yang terintegrasi across beberapa penyedia jejaring sosial (Google, Facebook, Apple)
- Pengembangan tipe yang lebih baik dengan definisi tipe yang lebih baik
- Komunitas aktif pemeliharaan bandingkan dengan versi yang sudah tidak digunakan
- Support Android yang dibangun secara langsung melalui autentikasi berbasis web
- Pengelolaan status login yang persisten
- Pengelolaan kesalahan yang lebih baik dengan jenis kesalahan yang konsisten
Perubahan Perubahan
Bab berjudul “Perubahan Perubahan”- Initialisasi eksplisit sekarang diperlukan - tidak ada konfigurasi default
- Struktur objek respons telah berubah - format hasil yang lebih dalam
- Implementasi Android memerlukan layanan backend untuk OAuth Pengelolaan token telah diperbaiki
- Pengelolaan token telah diperbaiki Pengelolaan token telah diperbaiki
- Pengelolaan token telah diperbaiki Pengelolaan token telah diperbaiki
Untuk instruksi setup yang lebih rinci, silakan lihat dokumentasi resmi Lanjutkan dari Migrasi Sign-In Apple ke @__CAPGO_KEEP_0__/social-login.
Bagian berjudul “Lanjutkan dari Migrasi Sign-In Apple ke @capgo/social-login”
Section titled “Keep going from Apple Sign-In Migration to @capgo/social-login”Dokumentasi resmi Migrasi Sign-In Apple ke @capgo/social-login untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-social-login untuk kemampuan asli dalam Menggunakan @capgo/capacitor-social-login, @capgo/capacitor-social-login untuk detail implementasi dalam @capgo/capacitor-social-login, @capgo/capacitor-passkey untuk detail implementasi dalam @capgo/capacitor-passkey, @capgo/capacitor-native-biometric untuk detail implementasi dalam @capgo/capacitor-native-biometric, dan Autentikasi Dua Faktor untuk detail implementasi dalam Autentikasi Dua Faktor.