Langsung ke konten

@capgo/capacitor-social-login

Semua social login dalam satu plugin.

@capgo/capacitor-social-login adalah plugin autentikasi sosial all-in-one untuk Web, iOS, dan Android.

Plugin ini mengimplementasikan:

  • Google Sign-In dengan Android Credential Manager
  • Sign in with Apple, termasuk OAuth di Android
  • Facebook Login dengan SDK Facebook terbaru
  • Twitter/X melalui OAuth 2.0
  • Provider OAuth2 dan OIDC generik, termasuk GitHub, Microsoft Entra ID, Auth0, Okta, Keycloak, dan server compliant lainnya

Ini juga merupakan jalur migrasi Capgo untuk aplikasi yang berpindah dari Ionic Appflow Social Login atau Ionic Auth Connect.

Plugin ini awalnya merupakan fork dari @codetrix-studio/capacitor-google-auth. Paket aslinya praktis sudah diarsipkan, jadi Capgo memelihara plugin ini sebagai pengganti yang didukung.

Jika Anda masih menggunakan @codetrix-studio/capacitor-google-auth, follow the panduan migrasi Google Auth legacy.

Jika Anda bermigrasi dari Ionic Auth Connect, gunakan SocialLoginAuthConnect wrapper bawaan untuk auth0, azure, cognito, okta, dan onelogin nama provider:

Versi pluginKompatibilitas CapacitorDipelihara
v8.xv8.xYa
v7.xv7.xSesuai permintaan
v6.xv6.xTidak
v5.xv5.xTidak

Versi major plugin ini mengikuti versi major Capacitor. Misalnya, gunakan plugin v8 dengan Capacitor 8. Hanya versi major terbaru yang aktif dipelihara.

Tonton demo singkat setup plugin dan alur login secara langsung.

  • initialize - Inisialisasi plugin.
  • login - Login dengan provider yang dipilih.
  • logout - Logout.
  • isLoggedIn - IsLoggedIn.
MetodeDeskripsi
initializeInisialisasi plugin.
loginLogin dengan provider yang dipilih.
logoutLogout.
isLoggedInIsLoggedIn.
getAuthorizationCodeDapatkan code otorisasi saat ini.
refreshSegarkan access token.
refreshTokenHelper refresh-token OAuth2 untuk provider OAuth2 bawaan.
handleRedirectCallbackHanya Web: tangani callback redirect OAuth dan kembalikan hasil yang sudah di-parse.
decodeIdTokenDecode JWT (biasanya ID token OIDC) menjadi klaimnya.
getAccessTokenExpirationDateKonversi timestamp kedaluwarsa access token (milidetik sejak epoch) menjadi string tanggal ISO.
isAccessTokenAvailablePeriksa apakah access token tersedia (tidak kosong).
isAccessTokenExpiredPeriksa apakah access token sudah kedaluwarsa.
isRefreshTokenAvailablePeriksa apakah refresh token tersedia (tidak kosong).
providerSpecificCallJalankan panggilan khusus provider.
getPluginVersionDapatkan versi plugin native Capacitor.
openSecureWindowMembuka jendela aman untuk autentikasi OAuth2. Untuk web, Anda harus menyertakan code di halaman redirect agar bisa menggunakan broadcast channel untuk mengirim URL redirect ke aplikasi. Contohnya seperti ini: html <html> <head></head> <body> <script> const searchParams = new URLSearchParams(location.search) if (searchParams.has("code")) { new BroadcastChannel("my-channel-name").postMessage(location.href); window.close(); } </script> </body> </html> Untuk mobile, Anda harus memiliki redirect URI yang membuka aplikasi, contohnya seperti ini: myapp://oauth_callback/ Dan pastikan untuk mendaftarkannya di info.plist aplikasi: xml <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> </dict> </array> Dan di file AndroidManifest.xml: xml <activity> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="oauth_callback" android:scheme="myapp" /> </intent-filter> </activity> .

Referensi ini disinkronkan dari src/definitions.ts di capacitor-social-login.

Lanjutkan dari @capgo/capacitor-social-login

Bagian berjudul “Lanjutkan dari @capgo/capacitor-social-login”

Jika Anda menggunakan @capgo/capacitor-social-login untuk merencanakan alur autentikasi dan akun, hubungkan dengan Menggunakan @capgo/capacitor-social-login untuk kapabilitas native di Menggunakan @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, Autentikasi dua faktor untuk detail implementasi pada Two-factor authentication, dan SSO (Enterprise) untuk detail implementasi pada SSO (Enterprise).