본문 바로가기

@capgo/capacitor-social-login

모든 소셜 로그인을 하나의 플러그인으로.

@capgo/capacitor-social-login Web, iOS, Android를 위한 올인원 소셜 인증 플러그인입니다.

다음 기능을 구현합니다:

  • Android Credential Manager를 통한 Google Sign-In
  • Android OAuth를 포함한 Sign in with Apple
  • 최신 Facebook SDK를 이용한 Facebook Login
  • OAuth 2.0을 통한 Twitter/X
  • GitHub, Microsoft Entra ID, Auth0, Okta, Keycloak 및 기타 표준 서버를 포함한 범용 OAuth2 및 OIDC 제공업체

Ionic Appflow Social Login 또는 Ionic Auth Connect에서 전환하는 앱을 위한 Capgo 마이그레이션 경로이기도 합니다.

Fork 및 마이그레이션 참고 사항

“Fork 및 마이그레이션 참고 사항” 섹션

이 플러그인은 다음의 fork로 시작되었습니다: @codetrix-studio/capacitor-google-auth. 원본 패키지는 사실상 아카이브되어, Capgo이 이 플러그인을 지원되는 대체 플러그인으로 유지 관리합니다.

여전히 다음을 사용 중이라면 @codetrix-studio/capacitor-google-auth, 다음을 따르세요: 기존 Google Auth 마이그레이션 가이드.

Ionic Auth Connect에서 마이그레이션하는 경우, 내장된 SocialLoginAuthConnect wrapper를 사용하세요: auth0, azure, cognito, okta, 그리고 onelogin 프로바이더 이름:

플러그인 버전Capacitor 호환성유지 관리 중
v8.xv8.x지원
v7.xv7.x요청 시 제공
v6.xv6.x아니요
v5.xv5.x아니요

이 플러그인의 메이저 버전은 Capacitor의 메이저 버전을 따릅니다. 예를 들어, Capacitor 8 버전에는 플러그인 v8을 사용하세요. 최신 메이저 버전만 지속적으로 유지보수됩니다.

플러그인 설정 및 실제 로그인 흐름을 데모 영상으로 확인해 보세요.

  • initialize - 플러그인을 초기화합니다.
  • login - 선택한 프로바이더로 로그인합니다.
  • logout - 로그아웃합니다.
  • isLoggedIn IsLoggedIn 여부
메서드설명
initialize플러그인 초기화
login선택한 프로바이더로 로그인
logout로그아웃
isLoggedIn로그인 여부
getAuthorizationCode현재 code 인증 정보를 가져옵니다.
refresh액세스 토큰을 갱신합니다.
refreshToken내장 OAuth2 프로바이더를 위한 OAuth2 refresh-token 헬퍼입니다.
handleRedirectCallbackWeb 전용: OAuth 리다이렉트 콜백을 처리하고 파싱된 결과를 반환합니다.
decodeIdTokenJWT(일반적으로 OIDC ID 토큰)를 디코딩하여 클레임을 추출합니다.
getAccessTokenExpirationDate액세스 토큰 만료 타임스탬프(Unix epoch 기준 밀리초)를 ISO 날짜 문자열로 변환합니다.
isAccessTokenAvailable액세스 토큰이 있는지(비어 있지 않은지) 확인합니다.
isAccessTokenExpired액세스 토큰이 만료되었는지 확인합니다.
isRefreshTokenAvailable리프레시 토큰이 있는지(비어 있지 않은지) 확인합니다.
providerSpecificCall프로바이더별 호출을 실행합니다.
getPluginVersion네이티브 Capacitor 플러그인 버전을 가져옵니다.
openSecureWindowOAuth2 인증을 위한 보안 창을 엽니다. 웹의 경우, 리다이렉트된 페이지에 code를 포함하여 브로드캐스트 채널을 통해 리다이렉트 URL을 앱으로 전송해야 합니다. 예시는 다음과 같습니다: 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> 모바일의 경우, 앱을 실행할 수 있는 리다이렉트 URI가 필요합니다. 예시는 다음과 같습니다: myapp://oauth_callback/ 앱의 info.plist에 해당 URI를 반드시 등록하세요: xml <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> </dict> </array> 그리고 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> .

이 레퍼런스는 다음에서 동기화됩니다. src/definitions.ts 에서 capacitor-social-login.

@capgo/capacitor-social-login에서 계속하기

“@capgo/capacitor-social-login에서 계속하기” 섹션

사용 중이라면 @capgo/capacitor-social-login 인증 및 계정 흐름을 설계할 때, 이를 다음 항목과 연결하세요: @capgo/capacitor-social-login 사용하기 @capgo/capacitor-social-login 사용 시 네이티브 기능을 위해, @capgo/capacitor-passkey @capgo/capacitor-passkey의 구현 세부 사항은 @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric의 구현 세부 사항은, 2단계 인증 2단계 인증(Two-factor authentication)의 구현 세부 사항은, SSO (기업용) SSO (Enterprise)의 구현 세부 사항은.