Mulai Menggunakan
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-social-login`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/social-login/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Pemasangan
Bab berjudul “Pemasangan”Anda dapat menggunakan Pengaturan Asisten AI kami untuk menginstal plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-social-login` plugin in my project.Jika Anda lebih suka Pengaturan Manual, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:
-
Install the package
Tampilan jendela terminal npm install @capgo/capacitor-social-login -
Sinkron dengan proyek native
Jendela terminal npx cap sync -
Mulai di awal aplikasi
import { SocialLogin } from '@capgo/capacitor-social-login';await SocialLogin.initialize({google: {webClientId: 'your-google-web-client-id',iOSClientId: 'your-google-ios-client-id',iOSServerClientId: 'your-google-web-client-id',mode: 'online',},apple: {clientId: 'your-apple-service-id',useProperTokenExchange: true,useBroadcastChannel: true,},facebook: {appId: 'your-facebook-app-id',},twitter: {clientId: 'your-twitter-client-id',redirectUrl: 'myapp://oauth/twitter',},oauth2: {github: {appId: 'your-github-client-id',authorizationBaseUrl: 'https://github.com/login/oauth/authorize',accessTokenEndpoint: 'https://github.com/login/oauth/access_token',redirectUrl: 'myapp://oauth/github',scope: 'read:user user:email',pkceEnabled: true,},},});
Contoh alur utama
Bab berjudul “Contoh alur utama”await SocialLogin.login({ provider: 'google', options: { scopes: ['profile', 'email'] },});
await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'github', scope: 'read:user user:email', },});Bab berjudul “Penggunaan”
Section titled “Session checks”const status = await SocialLogin.isLoggedIn({ provider: 'google' });await SocialLogin.logout({ provider: 'google' });Kode Autentikasi dan Perbarui
Pemeriksaan Sesi “Kode Autentikasi dan Perbarui”// For providers that support this modeconst authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });await SocialLogin.refresh({ provider: 'google', options: {} as never });Bantuan Lanjutan
Pemeriksaan Sesi “Bantuan Lanjutan”const jwt = await SocialLogin.decodeIdToken({ idToken: 'eyJhbGciOi...',});
const { date } = await SocialLogin.getAccessTokenExpirationDate({ accessTokenExpirationDate: Date.now() + 3600 * 1000,});
const expired = await SocialLogin.isAccessTokenExpired({ accessTokenExpirationDate: Date.now() + 1000,});
const active = await SocialLogin.isRefreshTokenAvailable({ refreshToken: 'a-token' });Catatan Khusus Provider
Pemeriksaan Sesi “Catatan Khusus Provider”Mode Offline Google
Pemeriksaan Sesi “Mode Offline Google”google.mode: 'offline' mengembalikan serverAuthCode dari login. Dalam mode ini, logout, isLoggedIn, getAuthorizationCode, dan refresh tidak tersedia.
Pilih serverAuthCode hanya sebagai input untuk pertukaran token backend Anda. Jika Anda perlu memanggil SocialLogin.refresh() sebaliknya. google.mode: 'online' Apple
context useProperTokenExchange: true untuk pengaturan token ketat dan useBroadcastChannel: true untuk pengaturan Android yang sederhana.
Alur Redirect OAuth2 Web
Alur berpindah alih OAuth2 webPilih OAuth2LoginOptions.flow: 'redirect' untuk alur web yang berpindah dari halaman.
Ketergantungan dinamis penyedia
Judul bagian “Ketergantungan dinamis penyedia”You can configure which providers to include to reduce native app size. This is most useful when your app only needs specific providers.
Tambahkan konfigurasi penyedia ke capacitor.config.ts:
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'MyApp', webDir: 'dist', plugins: { SocialLogin: { providers: { google: true, facebook: true, apple: true, twitter: false, }, logLevel: 1, }, },};
export default config;Nilai penyedia berarti:
true: penyedia tersebut diaktifkan dan ketergantungan native-nya diintegrasikan.false: penyedia tersebut dinonaktifkan dan ketergantungan native-nya tidak diintegrasikan.
Rincian penting:
- Jalankan
npx cap syncsetelah mengubah konfigurasi penyedia. - Jika tidak ada konfigurasi penyedia yang disediakan, semua penyedia akan kembali ke
trueuntuk kompatibilitas mundur. - Mengaktifkan penyedia dengan
falsemembuatnya tidak tersedia pada waktu runtime, bahkan jika penyedia itu hanya menggunakan API sistem. - Konfigurasi ini hanya berlaku untuk iOS dan Android; tidak berlaku untuk Web.
- Apple Sign-In pada Android menggunakan OAuth tanpa ketergantungan eksternal SDK.
- Twitter/X menggunakan OAuth 2.0 standar tanpa ketergantungan eksternal SDK.
Untuk termasuk hanya Google Sign-In dan Apple Sign-In:
plugins: { SocialLogin: { providers: { google: true, facebook: false, apple: true, twitter: false, }, },}Dokumentasi terkait
Section titled “Related documentation”- Ringkasan integrasi
- Integrasi Autentikasi yang Lebih Baik
- Penyedia OAuth2 dan OIDC
- Troubleshooting
- Manifest Privasi dan Pengatur URL iOS
- Migrasi dari Ionic Auth Connect
- Petunjuk Migrasi Autentikasi Sosial
- Migrasi Penyedia yang Tidak Modern
- Paket Migrasi Plugin Enterprise Ionic
Teruskan dari Mulai Menggunakan
Section titled “Keep going from Getting Started”Jika Anda menggunakan Mulai Menggunakan untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-social-login untuk kemampuan asli di Menggunakan @capgo/capacitor-social-login, Menggunakan @capgo/capacitor-social-login untuk detail implementasi di @capgo/capacitor-social-login, Menggunakan @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, dan @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, dan Autentikasi dua faktor untuk detail implementasi di Autentikasi Dua Faktor.