Google認証の移行から@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 Client ID の要件
「Web Client ID の要件」のセクション重要な変更: 最新のプラグインでは、すべてのプラットフォームでWebクライアントIDを使用する必要があります。
必要なのは次のとおりです。
- Google Cloud ConsoleでWebクライアントIDを作成する必要があります。まだない場合は(クレデンシャルを取得する方法)
- すべてのプラットフォームでこのWebクライアントIDを使用します。
webClientIdAndroidの場合、SHA1と共にAndroidクライアントIDを作成する必要がありますが、このトークンは使用されません( - Androidの設定ガイド__CAPGO_KEEP_0__の変更)
セクション「Codeの変更」
Section titled “Code Changes”__CAPGO_KEEP_0__
変更点のインポートimport { GoogleAuth } from '@codetrix-studio/capacitor-google-auth';import { SocialLogin } from '@capgo/capacitor-social-login';初期化
初期設定setupは簡単なものから変化します GoogleAuth.initialize() structured API呼び出し SocialLogin.initialize() 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」- アップデートしてください
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」-
AppDelegate.swiftに大きな変更は必要ありません (iOS設定ガイド)
-
設定を更新してください
capacitor.config.json, これを新しいプラグインでは使用しません:
{ "plugins": { "GoogleAuth": { "scopes": ["profile", "email"], "serverClientId": "xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com", "forceCodeForRefreshToken": true }}- 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: 有効期限が切れるアクセストークンの詳細
- result.idToken: 認証用のIDトークン
- result.profile: メールアドレス、名前、画像URLなどユーザープロフィール情報
追加機能
「追加機能」セクション新しいパッケージでは、Google 以外の複数のソーシャル認証プロバイダーをサポートします:
この統一されたアプローチにより:
- すべてのプロバイダーで一貫した API
- 改善された TypeScript のサポート
- エラーの処理が向上
- アクティブなメンテナンスとコミュニティサポート
詳細なセットアップ手順については、 メインのドキュメント これらの追加プロバイダーについての詳細なセットアップ手順を参照してください。
Google Auth Migration から @capgo/social-login に進みましょう。
「Google Auth マイグレーションから @capgo/social-login まで続ける」あなたが使用している Google Auth マイグレーションを @capgo/social-login に使用して 認証とアカウントフローの計画に使用している場合、@__CAPGO_KEEP_0__/social-login を Using @capgo/capacitor-social-login を使用 Using @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要素認証の実装詳細について