본문으로 건너뛰기

Apple Sign-In 이관을 @capgo/social-login으로

GitHub

이 안내서에서는 전통적인 플러그인을 현대적인 @capacitor-community/apple-sign-in 플러그인으로의 전환을 설명합니다. 새로운 플러그인은 여러 가지 사회 인증 제공자에 대한 통합 인터페이스를 제공하며 TypeScript 지원이 향상되고 유지 관리가 활발합니다. @capgo/capacitor-social-login 설치

설치 제목

__CAPGO_KEEP_0__
  1. 구버전 패키지를 제거하세요:

    터미널 창
    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';

초기화

초기화

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

// 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
}
});

중요한 주의사항: iOS의 경우 기본 설정을 제공하지만 Android는 웹 기반 OAuth 인증을 위해 Service ID와 백엔드 callback URL이 필요합니다.

로그인

로그인

로그인 프로세스는 여러 매개 변수에서 더 깨끗한 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'
}
});

새로운 플러그인은 login() with provider: 'apple' 그리고 선택적 범위 대신 개별 구성 값처럼 clientId 그리고 redirectURI.

응답 유형 변경

응답 유형 변경

결과는 이제 만료 날짜와 구조화된 accessToken 복사 profile 새로운 기능

// 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;
};
};
}

로그인 상태 확인

context

페이지/영역: Capgo 마케팅 웹사이트. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 보이는 곳: trust.astro 페이지. 메시지 키 `and` (And).

페이지/영역: Capgo 마케팅 웹사이트. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 보이는 곳: trust.astro 페이지. 메시지 키 `and` (And).

// 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 설정 섹션

iOS

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

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

Android 설정

Android 설정

Android는 웹 기반 OAuth 인증을 통해 네이티브 지원을 받습니다: 새로운 플러그인은 Android 지원을 기본으로 제공하지만 추가 설정이 필요합니다:

Apple Developer Portal에서 서비스 ID를 생성해야합니다.

  1. 웹 인증 엔드포인트를 구성해야합니다.
  2. Android 앱을 OAuth 흐름을 처리하도록 설정해야합니다.
  3. Android
  4. 백엔드 서비스 설정이 필요합니다

자세한 안드로이드 설정 지침에 대한 자세한 설명은 안드로이드 설정 가이드.

주요 이점

주요 이점

최신화된 패키지는 다음과 같은 기능을 제공합니다:

  1. 다중 소셜 제공자 (Google, Facebook, Apple)에서 통합 API 타입스크립트 타입 정의가 개선된
  2. 더 나은 타입 정의 활발한 커뮤니티 유지
  3. deprecated 버전과 비교하여 __CAPGO_KEEP_0__
  4. __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
  5. __CAPGO_KEEP_0__
  6. __CAPGO_KEEP_0__ __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

변경 사항
  1. __CAPGO_KEEP_0__ - 기본 설정이 더 이상 제공되지 않습니다.
  2. __CAPGO_KEEP_0__ - 결과 형식이 중첩된 형식으로 변경되었습니다.
  3. __CAPGO_KEEP_0__ OAuth 인증을 위해
  4. 토큰 갱신 처리는 다릅니다 - 토큰 관리가 개선되었습니다
  5. 오류 처리 및 오류 유형이 변경되었습니다 - 더 자세한 오류 정보

더 자세한 설정 방법을 알고 싶다면 공식 문서를 참조하세요 애플 로그인 마이그레이션에서 계속하기.

Keep going from Apple Sign-In Migration to @capgo/social-login

Section titled “Keep going from Apple Sign-In Migration to @capgo/social-login”

그것을 계정 흐름과 인증에 사용합니다 애플 로그인 마이그레이션에서 @capgo/social-login로 계속하기 애플 로그인 마이그레이션에서 @__CAPGO_KEEP_0__/social-login로 계속하기 Using @capgo/capacitor-social-login for the native capability in Using @capgo/capacitor-social-login @capgo/capacitor-social-login for the implementation detail in @capgo/capacitor-social-login @capgo/capacitor-passkey for the implementation detail in @capgo/capacitor-passkey @capgo/capacitor-native-biometric for the implementation detail in @capgo/capacitor-native-biometric, and Two-factor authentication for the implementation detail in Two-factor authentication.