Apple Sign-Inの移行から@capgo/social-login
このプラグインのインストール手順と全マークダウンガイドを含む設定プロンプトをコピーする
このガイドでは、レガシープラグインからモダン @capacitor-community/apple-sign-in パッケージへの移行を説明しています。新しいプラグインは、複数のソーシャル認証プロバイダーに対する統一されたインターフェイスを提供し、TypeScriptのサポートが向上し、積極的なメンテナンスが行われています。 @capgo/capacitor-social-login インストール
「インストール」のセクション
__CAPGO_KEEP_0__-
古いパッケージを削除してください:
ターミナル画面 npm uninstall @capacitor-community/apple-sign-in -
新しいパッケージをインストールしてください:
ターミナル画面 npm install @capgo/capacitor-social-loginnpx 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 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ではサービスIDとウェブベースのOAuth認証のためにバックエンドのコールバック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 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; }; };}「新機能」のセクション
更新されたプラグインは、前身にはない機能を導入しました:ログイン状態の確認
__CAPGO_KEEP_0__
// 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は馴染みのある設定手順を維持しています:
- iOSの設定はほとんど同じです。まだ必要なのは:
- Xcodeで「Sign In with Apple」機能を有効にします。
- Apple Developer Portalでアプリを設定します。
- iOSには追加のcode変更が必要ありません。
Androidの設定
Androidの設定Android 現在は、WebベースのOAuth認証を使用したネイティブサポートを受け取っています:
新しいプラグインはAndroidのサポートを箱から提供しますが、追加の設定が必要です:
- Apple Developer PortalでサービスIDを作成します。
- Web認証エンドポイントを設定します。
- AndroidアプリをOAuthフローを処理するように設定します。
- バックエンドサービス設定が必要です
詳細なAndroid設定手順については、以下のドキュメントを参照してください Android設定ガイド.
主な利点
「主な利点」セクションモダン化されたパッケージが提供する機能は次のとおりです
- 複数のソーシャルプロバイダー (Google、Facebook、Apple) への統一された API 改善されたTypeScriptの型付け
- より良い型定義 アクティブなコミュニティによるメンテナンス
- 非推奨のバージョンに比べて compared to the deprecated version
- Android用の組み込みサポート ウェブベースの認証を通じて
- ログイン状態の永続化管理
- エラーの処理 一貫したエラーの種類
変更点
変更点- 明示的な初期化が必要になりました - デフォルトの構成はありません
- レスポンスオブジェクトの構造が変更されました - ネストされた結果形式
- Androidの実装にはバックエンドサービスが必要です OAuthのために
- トークン更新の処理は異なります - トークンの管理が改善されました
- エラーハンドリングとエラータイプが変更されました - 詳細なエラー情報が提供されました
詳細なセットアップ手順については、公式ドキュメントを参照してください Capgoの公式ドキュメント.
Apple Sign-In Migrationから@capgo/social-loginに進みましょう
Apple Sign-In Migrationから@capgo/social-loginに進むセクションApple Sign-In Migrationから@__CAPGO_KEEP_0__/social-loginを使用している場合 Apple Sign-In Migrationから@capgo/social-loginを使用して認証とアカウントフローの計画を行い、接続してください Apple Sign-In Migrationから@__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 2要素認証 2要素認証の実装詳細