Migrasi Sign-In Apple ke @capgo/social-login
Copy sebuah 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 baru menyediakan antarmuka yang terintegrasi untuk penyedia autentikasi sosial yang lebih dari satu dengan dukungan TypeScript yang diperbarui dan perawatan aktif. @capgo/capacitor-social-login Pemasangan
Judul bagian “Pemasangan”
Hapus paket lama: __CAPGO_KEEP_0__.-
Panduan ini menjelaskan cara menginstal dan mengintegrasikan plugin Capgo dengan cara yang lebih mudah dan efektif.
Jendela terminal npm uninstall @capacitor-community/apple-sign-in -
Pasang paket baru:
Jendela terminal npm install @capgo/capacitor-social-loginnpx cap sync
Code Perubahan
Judul bagian “Code Perubahan”Impor Perubahan
Judul bagian “Impor Perubahan”import { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';Inisialisasi
Judul bagian “Inisialisasi”Kunci Perubahan: Plugin baru memerlukan langkah inisialisasi yang tidak diperlukan 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, sedangkan Android memerlukan detail tambahan termasuk ID Layanan dan URL panggilan balik backend untuk autentikasi OAuth berbasis web.
Masuk
Judul Bagian “Masuk”Proses login disederhanakan dari parameter yang banyak menjadi 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 daripada melewati nilai konfigurasi individu seperti clientId dan redirectURI.
Perubahan Tipe Respons
Bagian berjudul “Perubahan Tipe Respons”Hasil sekarang termasuk sebuah accessToken objek dengan detail kedaluwarsa dan struktur profile bagian, menggantikan format respons yang lebih tipis 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 tetap menjaga prosedur pengaturan yang familiar melalui kemampuan Xcode:
- Pengaturan iOS tetap sama. Anda masih perlu:
- Aktifkan kemampuan
- Konfigurasi aplikasi Anda di Portal Pengembang Apple
- Tidak ada perubahan tambahan code yang diperlukan untuk iOS
Pengaturan Android
Judul bagian “Pengaturan Android”Android Sekarang menerima 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 layanan backend diperlukan
- Konfigurasi layanan backend diperlukan
Untuk instruksi setup Android yang lebih rinci, silakan lihat Panduan Setup Android.
Kelebihan Utama
Bagian berjudul “Kelebihan Utama”Paket modern yang menyediakan:
- API yang Terintegrasi di berbagai penyedia sosial (Google, Facebook, Apple)
- Pengembangan TypeScript yang Diperbarui dengan definisi tipe yang lebih baik
- Pemeliharaan komunitas yang Aktif dibandingkan dengan versi yang sudah tidak digunakan lagi
- Dukungan Android yang Terintegrasi secara Otomatis melalui autentikasi berbasis web
- Pengelolaan Status Masuk yang Tidak Perlu Diperbarui
- Pengelolaan Kesalahan yang Lebih Baik dengan jenis kesalahan yang konsisten
Perubahan Perubahan
Bagian berjudul “Perubahan Perubahan”- Inisialisasi yang Tegas Sekarang Diperlukan - tidak ada konfigurasi default
- Struktur Objek Respons telah Berubah - format hasil yang terikat
- Implementasi Android memerlukan layanan backend untuk OAuth
- Pengaturan ulang token berbeda - pengelolaan token yang diperbaiki
- Pengaturan error dan jenis error telah berubah - error yang lebih rinci
Untuk instruksi setup yang lebih rinci, silakan lihat dokumentasi resmi.
Teruskan dari Migrasi Sign-In Apple ke @capgo/social-login
Bagian berjudul “Teruskan dari Migrasi Sign-In Apple ke @capgo/social-login”Jika 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 asli di Menggunakan @capgo/capacitor-login-sosial, @capgo/capacitor-login-sosial untuk detail implementasi di @capgo/capacitor-login-sosial, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-biometrik-asli untuk detail implementasi di @capgo/capacitor-biometrik-asli, dan Autentikasi dua faktor untuk detail implementasi di Autentikasi dua faktor.