Apple Sign-Inから@capgo/social-loginへの移行
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
このガイドでは、従来の @capacitor-community/apple-sign-in プラグインから最新の @capgo/capacitor-social-login パッケージへの移行方法を説明します。新しいプラグインは、TypeScriptのサポート強化と継続的なメンテナンスにより、複数のソーシャル認証プロバイダーに対して統一されたインターフェースを提供します。
インストール
「インストール」セクション-
古いパッケージを削除します:
ターミナル npm uninstall @capacitor-community/apple-sign-in -
新しいパッケージをインストールします:
ターミナル npm install @capgo/capacitor-social-loginnpx cap sync
Code の変更点
「Code の変更点」セクションインポートの変更
「Import の変更点」セクションimport { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';初期化
「初期化」セクション主な変更点: 新しいプラグインでは、以前は不要だった初期化ステップが必要になります。
// No initialization needed in old package// For iOS: Basic configurationawait SocialLogin.initialize({ apple: {} // Basic iOS configuration});
// For Android: Additional configuration requiredawait 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ではService IDやWebベースのOAuth認証用のバックエンドコールバックURLなど、追加の詳細設定が必要です。
サインイン
「Sign In」セクションログインプロセスは、複数のパラメータからよりクリーンな 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() を使用して provider: 'apple' 個別の設定値を渡すのではなく、オプションのスコープを渡す形式になります。 clientId と redirectURI.
レスポンスタイプの変更
「Response Type Changes」セクション結果には以下が含まれるようになりました: accessToken 有効期限の詳細と構造化された profile セクションを含むオブジェクトです。従来のパッケージのフラットなレスポンス形式から変更されました:
// Old response typeinterface AppleSignInResponse { response: { user: string; email: string | null; givenName: string | null; familyName: string | null; identityToken: string | null; authorizationCode: string | null; };}
// New response typeinterface 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; }; };}アップデートされたプラグインでは、以前のバージョンにはなかった以下の機能が導入されています:
ログイン状態の確認
// Not available in old packageconst status = await SocialLogin.isLoggedIn({ provider: 'apple'});ログアウト機能
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});これらのメソッドを使用することで、 isLoggedIn() 認証状態の確認と logout() 機能です。
プラットフォーム固有の変更
「プラットフォーム固有の変更」セクションiOSのセットアップ
「iOSの設定」セクションiOSと Xcodeの機能により、従来通りのセットアップ手順を維持できます:
- iOSの設定は、ほとんど変わりません。引き続き以下の手順が必要です:
- Xcodeで「Sign In with Apple」のcapabilityを有効にする
- Apple Developer Portalでアプリの設定を行う
- iOSにおいて追加の code の変更は不要です
Android セットアップ
「Androidの設定」セクションAndroid ウェブベースのOAuth認証を通じて、ネイティブサポートが提供されるようになりました:
新しいプラグインはAndroidを標準でサポートしていますが、追加の設定が必要です:
- Apple Developer PortalでServices IDを作成する
- ウェブ認証エンドポイントを設定する
- OAuthフローを処理するようにAndroidアプリを設定する
- バックエンドサービスの構成が必要です
Android設定の詳細な手順については、以下を参照してください: Android設定ガイド.
主なメリット
「主なメリット」セクション最新のパッケージでは以下が提供されます:
- 統合されたAPI 複数のソーシャルプロバイダー(Google, Facebook, Apple)に対応
- TypeScriptの型定義の改善 より高度な型定義を実現
- 活発なコミュニティによるメンテナンス 非推奨バージョンと比較して向上
- Androidの標準サポート Webベースの認証による実装
- 永続的なログイン状態の管理
- エラーハンドリングの強化 一貫したエラータイプを提供
破壊的変更
「破壊的変更」セクション- 明示的な初期化が必須になりました - デフォルト設定が廃止されました
- レスポンスオブジェクトの構造が変更されました - ネストされたresult形式に変更
- Androidの実装にはバックエンドサービスが必要です OAuth用
- トークンリフレッシュの処理が変更されました - トークン管理が改善されました
- エラーハンドリングとエラー型が変更されました - より詳細なエラー情報を提供
セットアップの詳細については、以下をご参照ください: 公式ドキュメント.
Apple Sign-In Migration から @capgo/social-login へ進む
「Apple Sign-In Migration から @capgo/social-login へ進む」セクション使用している場合 Apple Sign-Inから@capgo/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要素認証 二要素認証の実装の詳細については。