메인 콘텐츠로 건너뛰기

Apple Sign-In 이탈주권에서 @capgo/social-login으로 진행하세요

GitHub

이 가이드는 레거시 플러그인을 현대 플러그인으로 전환하는 방법을 설명합니다. @capacitor-community/apple-sign-in 새로운 플러그인은 여러 가지 사회 인증 제공자에 대한 통합 인터페이스를 제공하며 TypeScript 지원과 활발한 유지 보수를 제공합니다. @capgo/capacitor-social-login 설치

설치라는 제목이 있는 섹션

기존 패키지를 삭제하십시오:
  1. __CAPGO_KEEP_0__

    터미널 창
    npm uninstall @capacitor-community/apple-sign-in
  2. 새로운 패키지를 설치하세요:

    터미널 창
    npm install @capgo/capacitor-social-login
    npx cap sync

Code 변경 사항

Code 변경 사항
import { SignInWithApple } from '@capacitor-community/apple-sign-in';
import { SocialLogin } from '@capgo/capacitor-social-login';

초기화

초기화

Key Change: 새로운 플러그인은 이전에 필요하지 않았던 초기화 단계가 필요합니다.

// No initialization needed in old package
// For iOS: Basic configuration
await SocialLogin.initialize({
apple: {} // Basic iOS configuration
});
// For Android: Additional configuration required
await SocialLogin.initialize({
apple: {
clientId: 'YOUR_SERVICE_ID', // Service ID from Apple Developer Portal
redirectUrl: 'https://your-backend.com/callback' // Your backend callback URL
}
});

Important Note: iOS에서는 기본 구성 정보를 제공하지만 Android에서는 Service ID 및 웹 기반 OAuth 인증을 위한 백엔드 콜백 URL과 같은 추가 세부 정보가 필요합니다.

Sign In

로그인

The login process simplifies from multiple parameters to a cleaner API:

const result = await SignInWithApple.authorize({
clientId: 'com.your.app',
redirectURI: 'https://your-app.com/callback',
scopes: 'email name',
state: '12345',
nonce: 'nonce'
});
const result = await SocialLogin.login({
provider: 'apple',
options: {
// Optional: Add scopes if needed
scopes: ['email', 'name'],
nonce: 'nonce'
}
});

The new plugin uses login() with provider: 'apple' and optional scopes rather than passing individual configuration values like clientId __CAPGO_KEEP_0__ redirectURI.

__CAPGO_KEEP_1__

__CAPGO_KEEP_2__

__CAPGO_KEEP_3__ accessToken __CAPGO_KEEP_4__ profile __CAPGO_KEEP_5__

// Old response type
interface AppleSignInResponse {
response: {
user: string;
email: string | null;
givenName: string | null;
familyName: string | null;
identityToken: string | null;
authorizationCode: string | null;
};
}
// New response type
interface SocialLoginResponse {
provider: 'apple';
result: {
accessToken: {
token: string;
expiresIn?: number;
refreshToken?: string;
} | null;
idToken: string | null;
profile: {
user: string;
email: string | null;
givenName: string | null;
familyName: string | null;
};
};
}

__CAPGO_KEEP_7__

__CAPGO_KEEP_8__

__CAPGO_KEEP_9__

__CAPGO_KEEP_10__

// Not available in old package
const status = await SocialLogin.isLoggedIn({
provider: 'apple'
});

로그아웃 기능

// Not available in old package
await SocialLogin.logout({
provider: 'apple'
});

이 메소드는 isLoggedIn() 인증 상태를 확인하고 logout() 기능을 제공합니다.

플랫폼별 변경 사항

'플랫폼별 변경 사항' 제목

iOS iOS는 Xcode 기능을 통해 익숙한 설정 절차를 유지합니다.

  1. iOS 설정은 크게 변경되지 않았습니다. 여전히 다음을 수행해야 합니다.
    • Apple 로그인 기능을 Xcode 에 활성화하세요.
    • 애플 개발자 포털에서 앱을 구성하세요.
    • iOS 에 대한 추가 code 변경이 필요하지 않습니다.

Android 설정

Android 설정

Android 웹 기반 OAuth 인증을 통해 Native 지원을 받습니다.

새로운 플러그인은 Android 지원을 제공하지만 추가 설정이 필요합니다.

  1. 애플 개발자 포털에서 서비스 ID를 생성하세요.
  2. 웹 인증 엔드포인트를 구성하세요.
  3. Android 앱을 OAuth 흐름을 처리하도록 설정하세요.
  4. 백엔드 서비스 구성이 필요합니다.

Android 설정을 자세히 알아보려면 Android 설정 가이드.

최신화된 패키지는 다음을 제공합니다.

  1. 다중 소셜 제공자 (Google, Facebook, Apple)에서 통합 API
  2. TypeScript 타이핑이 개선된 타입 정의가 더 좋아진
  3. 활발한 커뮤니티 유지 deprecated 버전과 비교하여
  4. Android 내장 지원 웹 기반 인증을 통해
  5. 持続 로그인 상태 관리
  6. 보다 나은 오류 처리 일관된 오류 유형으로
  1. Explicit 초기화가 이제 필요합니다 - 기본 설정이 없습니다
  2. 응답 객체 구조가 변경되었습니다 - 중첩된 결과 형식
  3. Android 구현은 백엔드 서비스가 필요합니다 OAuth를위한 백엔드 서비스
  4. 토큰 갱신 처리는 다릅니다 - 토큰 관리가 개선되었습니다
  5. 에러 처리 및 에러 유형이 변경되었습니다 - 더 자세한 에러

더 자세한 설정 지침을 보려면 공식 문서를 참조하세요 애플 시그니인 마이그레이션부터 @__CAPGO_KEEP_0__/social-login로 계속 진행하세요.

애플 시그니인 마이그레이션부터 @capgo/social-login로 계속 진행하세요

애플 시그니인 마이그레이션을 @capgo/social-login으로 사용 중이라면

인증 및 계정 흐름을 계획하고 연결하려면 @__CAPGO_KEEP_0__/social-login을 사용하세요 애플 시그니인 마이그레이션을 @capgo/__CAPGO_KEEP_1__-social-login으로 사용 중이라면 애플 시그니인 마이그레이션을 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login으로 사용 중이라면 애플 시그니인 마이그레이션을 @capgo/capacitor-social-login으로 사용 중이라면 Capgo의 Native 기능을 사용하는 @capgo/capacitor-social-login을 위해 @capgo/capacitor-social-login Capgo의 Native 기능을 사용하는 @capgo/capacitor-social-login의 구현 세부 정보를 위해 @capgo/capacitor-passkey Capgo의 Native 기능을 사용하는 @capgo/capacitor-passkey의 구현 세부 정보를 위해 @capgo/capacitor-native-biometric Capgo의 Native 기능을 사용하는 @capgo/capacitor-native-biometric의 구현 세부 정보를 위해 두 단계 인증 두 단계 인증의 구현 세부 정보를 위해