コンテンツにジャンプします。

Apple Sign-Inの移行から@capgo/social-login

@GitHub

このガイドでは、レガシープラグインからモダン @capacitor-community/apple-sign-in パッケージへの移行を説明しています。新しいプラグインは、複数のソーシャル認証プロバイダーに対する統一されたインターフェイスを提供し、TypeScriptのサポートが向上し、積極的なメンテナンスが行われています。 @capgo/capacitor-social-login インストール

「インストール」のセクション

__CAPGO_KEEP_0__
  1. 古いパッケージを削除してください:

    ターミナル画面
    npm uninstall @capacitor-community/apple-sign-in
  2. 新しいパッケージをインストールしてください:

    ターミナル画面
    npm install @capgo/capacitor-social-login
    npx 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 configuration
await SocialLogin.initialize({
apple: {} // Basic iOS configuration
});
// For Android: Additional configuration required
await 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' とオプションスコープの代わりに、個々の構成値を渡すのではなく clientIdredirectURI.

結果には、有効期限の詳細と構造化された accessToken セクションが含まれ、元のパッケージのフラットなレスポンス形式を置き換えます: profile クリップボードにコピー

// Old response type
interface AppleSignInResponse {
response: {
user: string;
email: string | null;
givenName: string | null;
familyName: string | null;
identityToken: string | null;
authorizationCode: string | null;
};
}
// New response type
interface 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 package
const status = await SocialLogin.isLoggedIn({
provider: 'apple'
});

ログアウト機能

// Not available in old package
await SocialLogin.logout({
provider: 'apple'
});

これらのメソッドは isLoggedIn() 認証状態を確認するために logout() 機能を提供します。

iOS Xcodeの機能を通じて、iOSは馴染みのある設定手順を維持しています:

  1. iOSの設定はほとんど同じです。まだ必要なのは:
    • Xcodeで「Sign In with Apple」機能を有効にします。
    • Apple Developer Portalでアプリを設定します。
    • iOSには追加のcode変更が必要ありません。

Androidの設定

Androidの設定

Android 現在は、WebベースのOAuth認証を使用したネイティブサポートを受け取っています:

新しいプラグインはAndroidのサポートを箱から提供しますが、追加の設定が必要です:

  1. Apple Developer PortalでサービスIDを作成します。
  2. Web認証エンドポイントを設定します。
  3. AndroidアプリをOAuthフローを処理するように設定します。
  4. バックエンドサービス設定が必要です

詳細なAndroid設定手順については、以下のドキュメントを参照してください Android設定ガイド.

モダン化されたパッケージが提供する機能は次のとおりです

  1. 複数のソーシャルプロバイダー (Google、Facebook、Apple) への統一された API 改善されたTypeScriptの型付け
  2. より良い型定義 アクティブなコミュニティによるメンテナンス
  3. 非推奨のバージョンに比べて compared to the deprecated version
  4. Android用の組み込みサポート ウェブベースの認証を通じて
  5. ログイン状態の永続化管理
  6. エラーの処理 一貫したエラーの種類

変更点

変更点
  1. 明示的な初期化が必要になりました - デフォルトの構成はありません
  2. レスポンスオブジェクトの構造が変更されました - ネストされた結果形式
  3. Androidの実装にはバックエンドサービスが必要です OAuthのために
  4. トークン更新の処理は異なります - トークンの管理が改善されました
  5. エラーハンドリングとエラータイプが変更されました - 詳細なエラー情報が提供されました

詳細なセットアップ手順については、公式ドキュメントを参照してください 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要素認証の実装詳細