Mulai Menggunakan
Copas 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.
Instalasi
Panduan berjudul “Instalasi”Anda dapat menggunakan Pengaturan Asisten AI kami untuk menginstal plugin ini. 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
Jendela Terminal bun add @capgo/capacitor-social-login -
Sinkronisasi dengan proyek asli
Jendela Terminal bunx 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 aliran utama
Judul bagian “Contoh aliran utama”await SocialLogin.login({ provider: 'google', options: { scopes: ['profile', 'email'] },});
await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'github', scope: 'read:user user:email', },});Bagian “Penggunaan Akun”
Section titled “Session checks”const status = await SocialLogin.isLoggedIn({ provider: 'google' });await SocialLogin.logout({ provider: 'google' });Judul bagian “Pengecekan Sesi”
Kode Autentikasi dan Refresh// For providers that support this modeconst authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });await SocialLogin.refresh({ provider: 'google', options: {} as never });Bantuan maju
Bagian berjudul “Bantuan maju”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 spesifik penyedia
Bagian berjudul “Catatan spesifik penyedia”Modus offline Google
Bagian berjudul “Modus offline Google”google.mode: 'offline' mengembalikan serverAuthCode dari login. Dalam mode ini, keluar, isLoggedIn, getAuthorizationCode, dan refresh tidak tersedia.
Gunakan serverAuthCode hanya sebagai input untuk pertukaran token backend Anda. Jika Anda perlu memanggil SocialLogin.refresh() di dalam aplikasi, gunakan google.mode: 'online' sebaliknya.
Apple
Judul Bagian “Apple”Set useProperTokenExchange: true untuk pengaturan token ketat useBroadcastChannel: true pengaturan sederhana untuk Android.
untuk penggunaan token ketat dan
untuk pengaturan Android yang disederhanakan.Use OAuth2LoginOptions.flow: 'redirect' Judul Bagian “OAuth2 aliran redirect web”
Ketergantungan Provder Dinamis
Judul Bagian: “Ketergantungan Provider Dinamis”Kamu dapat mengonfigurasi provider mana yang ingin kamu gunakan untuk mengurangi ukuran aplikasi native. Hal ini paling berguna ketika aplikasi kamu hanya membutuhkan beberapa provider tertentu.
Tambahkan pengaturan provider 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 provider berarti:
trueProvider tersebut telah diaktifkan dan dependensi native-nya telah dibundel.false: penyedia ini dinonaktifkan dan dependensi aslinya tidak dibundel.
Rincian penting:
- Jalankan
bunx cap syncSetelah mengubah konfigurasi penyedia layanan. - 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 tersebut hanya menggunakan API sistem. - Pengaturan 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
Bab berjudul “Dokumentasi terkait”- Penjelasan integrasi
- Integrasi Autentikasi yang Lebih Baik
- Penyedia OAuth2 dan OIDC
- Mengatasi Masalah
- Mengatur Manifest Privasi dan Pengolah URL iOS
- Migrasi dari Ionic Auth Connect
- Petunjuk Migrasi Autentikasi Sosial
- Migrasi Provider Legacy
- Solusi Migrasi Plugin Enterprise Ionic
Teruskan dari Getting Started
Bagian yang berjudul “Teruskan dari Getting Started”Jika Anda menggunakan Mulai Menggunakan untuk merencanakan autentikasi dan alur akun, hubungkannya dengan Menggunakan @capgo/capacitor-autentikasi-sosial untuk kemampuan native di Menggunakan @capgo/capacitor-login-social, @capgo/capacitor-login-social untuk detail implementasi di @capgo/capacitor-login-social, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-biometrik-native untuk detail implementasi di @capgo/capacitor-biometrik-native, dan Autentikasi dua faktor untuk detail implementasi di Autentikasi dua faktor.