내용으로 건너뛰기

구글 인증 마이그레이션을 @capgo/social-login으로

GitHub

개요

개요

이 안내서에서는 comprehensive한 단계를 제공하여 Live Update에서 @codetrix-studio/capacitor-google-auth to @capgo/capacitor-social-login새로운 플러그인은 여러 소셜 인증 제공자들을 하나의 일관된 API 하에 통합하여 smoother 전환과 향상된 인증 경험을 제공합니다.

Live Update에서

설치
  1. Section titled “설치”

    Remove the old package:
    npm uninstall @codetrix-studio/capacitor-google-auth
  2. Copy to clipboard

    Remove the old package:
    npm install @capgo/capacitor-social-login
    npx cap sync

Google 인증 설정에서 중요한 변경 사항

Google 인증 설정에서 중요한 변경 사항

웹 클라이언트 ID 요구 사항

웹 클라이언트 ID 요구 사항

중요한 변경 사항: 업데이트된 플러그인은 모든 플랫폼에서 웹 클라이언트 ID를 사용해야 합니다.

다음 단계를 수행해야 합니다:

  1. Google Cloud Console에서 웹 클라이언트 ID를 만드는 방법인증 정보를 얻는 방법)
  2. 이 웹 클라이언트 ID를 모든 플랫폼에서 사용해야 합니다. webClientId Android의 경우, SHA1과 함께 Android 클라이언트 ID를 만드는 것이 필요합니다. 그러나 이 토큰은 사용되지 않습니다.
  3. Android의 경우, SHA1과 함께 Android 클라이언트 ID를 만드는 것이 필요합니다. 그러나 이 토큰은 사용되지 않습니다.안드로이드 설정 가이드)

Code 변경 사항

Code 변경 사항 섹션

변경 사항 가져오기

변경 사항 가져오기 섹션
import { GoogleAuth } from '@codetrix-studio/capacitor-google-auth';
import { SocialLogin } from '@capgo/capacitor-social-login';

설정은 단순한 호출에서 더 구조화된 GoogleAuth.initialize() 구글 구성이 중첩된 SocialLogin.initialize() 구글 구성이 중첩된

GoogleAuth.initialize({
clientId: 'CLIENT_ID.apps.googleusercontent.com',
scopes: ['profile', 'email'],
grantOfflineAccess: true,
});
await SocialLogin.initialize({
google: {
webClientId: 'WEB_CLIENT_ID.apps.googleusercontent.com', // Use Web Client ID for all platforms
iOSClientId: 'IOS_CLIENT_ID', // for iOS
mode: 'offline' // replaces grantOfflineAccess
}
});

로그인 방법이 GoogleAuth.signIn() 에서 SocialLogin.login() explicit provider를 지정하는 경우:

const user = await GoogleAuth.signIn();
const res = await SocialLogin.login({
provider: 'google',
options: {
scopes: ['email', 'profile'],
forceRefreshToken: true // if you need refresh token
}
});

플랫폼별 변경 사항

플랫폼별 변경 사항 섹션

안드로이드

안드로이드 섹션
  1. 업데이트 MainActivity.java (안드로이드 전체 설정 가이드):
import ee.forgr.capacitor.social.login.GoogleProvider;
import ee.forgr.capacitor.social.login.SocialLoginPlugin;
import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin;
import com.getcapacitor.PluginHandle;
import com.getcapacitor.Plugin;
import android.content.Intent;
import android.util.Log;
public class MainActivity extends BridgeActivity {
public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) {
PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
if (pluginHandle == null) {
Log.i("Google Activity Result", "SocialLogin login handle is null");
return;
}
Plugin plugin = pluginHandle.getInstance();
if (!(plugin instanceof SocialLoginPlugin)) {
Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin");
return;
}
((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data);
}
}
public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}
}
  1. AppDelegate.swift (iOS 설정 가이드)

  2. 업데이트하여 capacitor.config.jsonWeb

{
"plugins": {
"GoogleAuth": {
"scopes": ["profile", "email"],
"serverClientId": "xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
"forceCodeForRefreshToken": true
}
}
  1. 사용하셨던 경우 index.html 사용하지 않습니다.
<meta name="google-signin-client_id" content="{your client id here}" />
<meta name="google-signin-scope" content="profile email" />

응답 형식 변경

응답 형식 변경

인증 응답은 구조화된 객체를 제공하여 제공자 정보, 액세스 토큰, ID 토큰 및 사용자 프로필 데이터를 포함합니다.

interface GoogleLoginResponse {
provider: 'google';
result: {
accessToken: {
token: string;
expires: string;
// ... other token fields
} | null;
idToken: string | null;
profile: {
email: string | null;
familyName: string | null;
givenName: string | null;
id: string | null;
name: string | null;
imageUrl: string | null;
};
};
}

응답 구조는 다음과 같습니다.

  • provider: 인증 제공자 식별'google')
  • access_token: 만료일을 포함한 액세스 토큰 세부 정보
  • idToken: 인증을 위한 ID 토큰
  • 결과 프로필: 사용자 프로필 정보, 이메일, 이름 및 이미지 URL을 포함합니다.

새 패키지는 Google 이외의 여러 가지 사회 인증 제공 업체를 지원합니다:

통합된 접근 방식은 다음과 같은 이점을 제공합니다:

  • 모든 제공 업체에서 일관적인 API
  • 타입 스크립트 지원이 향상되었습니다.
  • 오류 처리가 개선되었습니다.
  • 활발한 유지 관리 및 커뮤니티 지원

체크하세요 Capgo의 상세한 설정 지침을 확인하세요. 이 추가 제공자에 대한 세부 설정 지침을 확인하세요.

구글 인증 마이그레이션에서 @capgo/social-login으로 계속하세요.

구글 인증 마이그레이션에서 @capgo/social-login으로 계속하세요.

Google Auth Migration을 사용하여 인증 및 계정 흐름을 계획하고 있습니다. Google 인증 마이그레이션을 @capgo/social-login으로 수행합니다. Google Auth Migration을 연결하여 인증 및 계정 흐름을 계획하세요. @capgo/capacitor-social-login Using @capgo/capacitor-social-login을 사용하여 native 기능을 구현하세요. Using @capgo/capacitor-social-login을 사용하여 implementation detail을 구현하세요. Using @capgo/capacitor-social-login을 사용하여 implementation detail을 구현하세요. @capgo/capacitor-passkey @capgo/capacitor-passkey @capgo/capacitor-native-biometric @capgo/capacitor-native-biometric 두 단계 인증 두 단계 인증