Google Auth マイグレーションから @capgo/social-login
このプラグインのインストール手順とフルマークダウンガイドのコピー可能な設定用の質問をコピーする。
このガイドでは、 @codetrix-studio/capacitor-google-auth から @capgo/capacitor-social-loginへの移行のための包括的なステップを提供し、改善された認証体験を保証します。新しいプラグインは、複数のソーシャル認証プロバイダーを単一の、APIの統一されたものに統合します。
インストール
「インストール」セクション-
古いパッケージを削除する:
ターミナル画面 npm uninstall @codetrix-studio/capacitor-google-auth -
新しいパッケージをインストールする:
ターミナルウィンドウ npm install @capgo/capacitor-social-loginnpx cap sync
Google Auth の設定における重要な変更
「Google Auth の設定における重要な変更」Web クライアント ID の要件
「Web クライアント ID の要件」重要な変更: この更新されたプラグインでは、すべてのプラットフォームで Web クライアント ID を使用する必要があります。
必要な手順は次のとおりです。
- Google Cloud Console で Web クライアント ID を作成する必要があります (クレデンシャルを取得する方法)
- この Web クライアント ID を使用してください
webClientIdfield for all platforms - Android用では、SHA1とともにAndroid Client IDを作成する必要がありますが、このIDはトークンを使用するためにではなく、検証用途のみです (Androidセットアップガイド)
Code Changes
Code ChangesChangesをインポート
Changesをクリップボードにコピーimport { GoogleAuth } from '@codetrix-studio/capacitor-google-auth';import { SocialLogin } from '@capgo/capacitor-social-login';初期化
設定は単純なコールから構造化されたコールに変わります GoogleAuth.initialize() __CAPGO_KEEP_0__ Changes SocialLogin.initialize() __CAPGO_KEEP_0__のネストされたGoogle構成:
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() に変更されます。
const user = await GoogleAuth.signIn();const res = await SocialLogin.login({ provider: 'google', options: { scopes: ['email', 'profile'], forceRefreshToken: true // if you need refresh token }});プラットフォーム固有の変更
セクション「プラットフォーム固有の変更」Android
セクション「Android」- Update your
MainActivity.java(Androidのセットアップガイド):
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() {}}iOS
iOSセクション-
No major changes needed in AppDelegate.swift (iOSのセットアップガイド)
-
Update your configuration in
capacitor.config.json, 使わないので削除してください:
{ "plugins": { "GoogleAuth": { "scopes": ["profile", "email"], "serverClientId": "xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com", "forceCodeForRefreshToken": true }}Web
Webセクション- Google Sign-Inのメタタグを削除してください
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') - result.accessToken: 有効期限切れのアクセストークンの詳細
- IDトークン: IDトークン
- プロファイル: メールアドレス、名前、画像URLを含むユーザープロファイル
追加機能
「追加機能」セクションGoogleを超えて複数のソーシャル認証プロバイダーをサポートする新しいパッケージが利用可能です。
統一されたアプローチにより、以下の利点が得られます。
- すべてのプロバイダーで一貫したAPI
- 改善されたTypeScriptサポート
- より良いエラー処理
- アクティブなメンテナンスとコミュニティサポート
を確認してください メインドキュメント 詳細なセットアップ手順については、追加のプロバイダーに対してこちらを参照してください。
Google Auth Migrationから@capgo/social-loginに進む
セクションのタイトル:「Google Auth Migrationから@capgo/social-loginに進む」Google Auth Migrationから@__CAPGO_KEEP_0__/social-loginを使用している場合 Google Auth Migrationから@capgo/social-loginを使用して、認証とアカウントフローの計画を行っている場合、@capgo/__CAPGO_KEEP_1__-social-loginを使用して接続してください。 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-loginを使用して、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-loginのネイティブ機能を使用します。 @capgo/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要素認証の実装詳細