Panduan Memulai
Salin prompt setup yang berisi langkah install 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
Bagian berjudul “Instalasi”Anda bisa menggunakan AI-Assisted Setup kami untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda dengan command 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 memilih Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti petunjuk khusus platform di bawah ini:
-
Instal package
Jendela terminal bun add @capgo/capacitor-social-login -
Sync dengan proyek native
Jendela terminal bunx cap sync -
Inisialisasi saat startup 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,},},});
Kapan tim memilih plugin ini
Bagian berjudul “Kapan tim memilih plugin ini”- Satu paket untuk Google, Apple, Facebook, Twitter/X, dan provider OAuth2 atau OIDC kustom.
- Google Sign-In Android melalui Credential Manager, bukan plugin komunitas yang sudah deprecated.
- Provider gaya Ionic Auth Connect melalui layer kompatibilitas yang terdokumentasi.
- Aplikasi yang harus berbagi login code antara build mobile dan web.
Contoh alur utama
Bagian berjudul “Contoh flow utama”await SocialLogin.login({ provider: 'google', options: { scopes: ['profile', 'email'] },});
await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'github', scope: 'read:user user:email', },});Pengecekan sesi
Bagian berjudul “Pemeriksaan sesi”const status = await SocialLogin.isLoggedIn({ provider: 'google' });await SocialLogin.logout({ provider: 'google' });Auth code dan refresh
Bagian berjudul “Kode autentikasi dan refresh”// For providers that support this modeconst authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });await SocialLogin.refresh({ provider: 'google', options: {} as never });Helper tingkat lanjut
Bagian berjudul “Helper 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
Bagian berjudul “Catatan khusus provider”Mode offline Google
Bagian berjudul “Mode offline Google”google.mode: 'offline' mengembalikan serverAuthCode dari login. Dalam mode ini, logout, 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' instead.
Atur useProperTokenExchange: true untuk penanganan token yang ketat dan useBroadcastChannel: true untuk setup Android yang lebih simpel.
Alur redirect web OAuth2
Bagian berjudul “OAuth2 web redirect flow”Gunakan OAuth2LoginOptions.flow: 'redirect' untuk web flow yang berpindah dari halaman.
Dependensi provider dinamis
Bagian berjudul “Dynamic provider dependencies”Anda bisa mengatur provider mana saja yang disertakan untuk memperkecil ukuran native app. Ini sangat berguna jika app Anda hanya butuh provider tertentu.
Tambahkan konfigurasi 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:
true: provider diaktifkan dan dependensi native-nya sudah di-bundle.false: provider dinonaktifkan dan dependensi native-nya tidak dibundel.
Detail penting:
- Jalankan
bunx cap syncsetelah mengubah konfigurasi provider. - Jika tidak ada konfigurasi provider yang diberikan, semua provider secara default menjadi
trueuntuk kompatibilitas mundur. - Menonaktifkan provider dengan
falsemembuatnya tidak tersedia saat runtime, bahkan jika provider tersebut hanya menggunakan API sistem. - Konfigurasi ini hanya memengaruhi iOS dan Android; tidak memengaruhi Web.
- Apple Sign-In di Android menggunakan OAuth tanpa dependensi eksternal SDK.
- Twitter/X menggunakan OAuth 2.0 standar tanpa dependensi eksternal SDK.
Untuk menyertakan hanya Google Sign-In dan Apple Sign-In:
plugins: { SocialLogin: { providers: { google: true, facebook: false, apple: true, twitter: false, }, },}Dokumentasi terkait
Bagian berjudul “Dokumentasi terkait”- Ringkasan integrasi
- Integrasi Better Auth
- Provider OAuth2 dan OIDC
- Pemecahan Masalah
- Privacy manifest dan iOS URL handlers
- Migrasi dari Ionic Auth Connect
- Panduan migrasi Social Login Auth Connect
- Migrasi provider legacy
- Solusi migrasi plugin Ionic Enterprise
Lanjutkan dari Getting Started
Bagian berjudul “Lanjutkan dari Getting Started”Jika Anda menggunakan Panduan Memulai untuk merencanakan alur autentikasi dan akun, hubungkan dengan Menggunakan @capgo/capacitor-social-login untuk kapabilitas native di Menggunakan @capgo/capacitor-social-login, @capgo/capacitor-social-login untuk detail implementasi di @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.