Migrasi Login Facebook ke @capgo/social-login
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Judul bagian “Ringkasan”
Panduan ini menyediakan instruksi komprehensif untuk migrasi dariPanduan ini menyediakan instruksi komprehensif untuk migrasi dari __CAPGO_KEEP_0__. @capacitor-community/facebook-login ke @capgo/capacitor-social-login. Plugin baru ini memodernisasi autentikasi Facebook dengan antarmuka API yang terintegrasi yang mendukung beberapa penyedia jejaring sosial, dukungan TypeScript yang ditingkatkan, dan kemampuan yang diperluas.
Pemasangan
Judul bagian “Pemasangan”-
Hapus paket lama:
Jendela terminal npm uninstall @capacitor-community/facebook-login -
Pasang paket baru:
Jendela terminal npm install @capgo/capacitor-social-loginnpx cap sync
Perubahan Code
Judul bagian “Perubahan Code”Impor Perubahan
Bagian berjudul “Impor Perubahan”import { FacebookLogin } from '@capacitor-community/facebook-login';import { SocialLogin } from '@capgo/capacitor-social-login';Inisialisasi
Bagian berjudul “Inisialisasi”Perubahan Kunci: Paket baru memerlukan pengaturan eksplisit di dalam code:
// Old package required no explicit initialization in code// Configuration was done only in native platforms
// New package requires explicit initializationawait SocialLogin.initialize({ facebook: { appId: 'YOUR_FACEBOOK_APP_ID', // Required for web and Android clientToken: 'YOUR_CLIENT_TOKEN' // Required for Android }});Metode login sekarang menerima parameter provider:
const FACEBOOK_PERMISSIONS = ['email', 'public_profile'];const result = await FacebookLogin.login({ permissions: FACEBOOK_PERMISSIONS });
const result = await SocialLogin.login({ provider: 'facebook', options: { permissions: ['email', 'public_profile'], limitedLogin: false, nonce: 'optional_nonce' }});Perubahan Tipe Respons
Judul Bagian “Perubahan Tipe Respons”Struktur respons telah diperbarui dengan profil objek yang lebih komprehensif:
// Old response typeinterface FacebookLoginResponse { accessToken: { applicationId: string; userId: string; token: string; expires: string; }; recentlyGrantedPermissions: string[]; recentlyDeniedPermissions: string[];}
// New response typeinterface FacebookLoginResponse { provider: 'facebook'; result: { accessToken: { token: string; applicationId?: string; expires?: string; userId?: string; permissions?: string[]; declinedPermissions?: string[]; } | null; idToken: string | null; profile: { userID: string; email: string | null; friendIDs: string[]; birthday: string | null; ageRange: { min?: number; max?: number } | null; gender: string | null; location: { id: string; name: string } | null; hometown: { id: string; name: string } | null; profileURL: string | null; name: string | null; imageURL: string | null; }; };}Perbedaan Utama:
- Respons sekarang termasuk
providerbidang yang mengidentifikasi penyedia autentikasi - Objek yang lebih rinci
profiledengan informasi pengguna tambahan - Struktur yang konsisten di semua penyedia login sosial
Mengecek Status Login
Judul Bagian “Mengecek Status Login”const result = await FacebookLogin.getCurrentAccessToken();const isLoggedIn = result && result.accessToken;
const status = await SocialLogin.isLoggedIn({ provider: 'facebook'});const isLoggedIn = status.isLoggedIn;Keluar
Bagian berjudul “Keluar”await FacebookLogin.logout();
await SocialLogin.logout({ provider: 'facebook'});Perubahan Spesifik Platform
Bagian berjudul “Perubahan Spesifik Platform”Pengaturan Android
Bagian berjudul “Pengaturan Android”Konfigurasi sekarang diatur melalui metode initialize:
// AndroidManifest.xml changes remain the same// strings.xml become irrelevant// Additionally initialize in your code:await SocialLogin.initialize({ facebook: { appId: 'your-app-id', clientToken: 'your-client-token' // New requirement }});Penting: Token klien sekarang diperlukan untuk autentikasi Android.
Pengaturan iOS
Judul Bagian “Pengaturan iOS”- Pengaturan iOS tetap sama:
AppDelegate.swiftSalin ke clipboard
import FBSDKCoreKit
// In application:didFinishLaunchingWithOptions:FBSDKCoreKit.ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions)
// In application:openURL:options:ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation])- Konfigurasi tetap sama:
Info.plistSalin ke clipboard
<key>CFBundleURLTypes</key><array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb[APP_ID]</string> </array> </dict></array><key>FacebookAppID</key><string>[APP_ID]</string><key>FacebookClientToken</key><string>[CLIENT_TOKEN]</string><key>FacebookDisplayName</key><string>[APP_NAME]</string><key>LSApplicationQueriesSchemes</key><array> <string>fbapi</string> <string>fbauth</string> <string>fb-messenger-share-api</string> <string>fbauth2</string> <string>fbshareextension</string></array>Judul Bagian “Perubahan Mendasar”
Ringkasan perubahan mendasar saat migrasi:Inisialisasi eksplisit sekarang diperlukan
- Salin ke clipboard - Harus dipanggil
initialize()sebelum digunakan - Struktur objek respons telah berubah secara signifikan - Format hasil yang lebih dalam dengan data profil yang ditingkatkan
- Token klien sekarang diperlukan untuk Android - Konfigurasi tambahan diperlukan
- Metode nama dan struktur parameter yang berbeda - Pendekatan berbasis penyedia
- Pengaturan kesalahan dan jenis kesalahan telah berubah - Informasi kesalahan yang lebih rinci
Kelebihan Utama
Judul bagian “Kelebihan Utama”The new plugin provides:
- Pengembangan yang terintegrasi API di berbagai penyedia jejaring sosial (Google, Apple, Facebook)
- Pengembangan TypeScript yang ditingkatkan dengan definisi tipe yang lebih baik
- Data profil yang diperbarui dengan informasi pengguna yang lebih banyak
- Pemeliharaan aktif dan dukungan komunitas
- Pengelolaan kesalahan yang konsisten di semua penyedia
- Manajemen token yang lebih baik dengan penanganan kadaluarsa yang tepat
Untuk instruksi pengaturan yang lebih rinci, silakan merujuk ke dokumentasi resmi.
Teruskan dari Migrasi Login Facebook ke @capgo/social-login
Judul bagian “Teruskan dari Migrasi Login Facebook ke @capgo/social-login”Jika Anda menggunakan Migrasi Login Facebook ke @capgo/social-login untuk merencanakan autentikasi dan aliran 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 di @capgo/capacitor-passkey, @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, dan Autentikasi Dua Faktor untuk detail implementasi di Autentikasi Dua Faktor.