はじめに

Page/area: Capgo marketing website. Role: Short UI label or navigation item. Seen in: component GlobalInfrastructure.astro, page observe.astro. Message key `cta_start_free` (CTA Start Free). | Page/area: Capgo marketing website. Role: Short UI label or navigation item. Seen in: component Hero.astro, component HowItWorks.astro. Message key `hero_cta_try_free` (Hero CTA Try Free).

GitHub

AI-Assisted セットアップを使用してプラグインをインストールできます。AI ツールに Capgo スキルを追加するには、以下のコマンドを実行してください。

ターミナル画面
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

次に、以下のプロンプトを使用してください。

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-social-login` plugin in my project.

Manual Setup を使用する場合は、以下のコマンドを実行してプラグインをインストールし、以下のプラットフォーム固有の指示に従ってください。

  1. パッケージをインストール

    ターミナル画面
    bun add @capgo/capacitor-social-login
  2. Native プロジェクトと同期

    ターミナル ウィンドウ
    bunx cap sync
  3. アプリ起動時に初期化

    import { SocialLogin } from '@capgo/capacitor-social-login';
    await SocialLogin.initialize({
    google: {
    webClientId: 'your-google-web-client-id',
    iOSClientId: 'your-google-ios-client-id',
    iOSServerClientId: 'your-google-web-client-id',
    mode: 'online',
    },
    apple: {
    clientId: 'your-apple-service-id',
    useProperTokenExchange: true,
    useBroadcastChannel: true,
    },
    facebook: {
    appId: 'your-facebook-app-id',
    },
    twitter: {
    clientId: 'your-twitter-client-id',
    redirectUrl: 'myapp://oauth/twitter',
    },
    oauth2: {
    github: {
    appId: 'your-github-client-id',
    authorizationBaseUrl: 'https://github.com/login/oauth/authorize',
    accessTokenEndpoint: 'https://github.com/login/oauth/access_token',
    redirectUrl: 'myapp://oauth/github',
    scope: 'read:user user:email',
    pkceEnabled: true,
    },
    },
    });

コアフロー例

コアフロー例

ログイン

ログイン
await SocialLogin.login({
provider: 'google',
options: { scopes: ['profile', 'email'] },
});
await SocialLogin.login({
provider: 'oauth2',
options: {
providerId: 'github',
scope: 'read:user user:email',
},
});

セッションチェック

セッションチェック
const status = await SocialLogin.isLoggedIn({ provider: 'google' });
await SocialLogin.logout({ provider: 'google' });

認証コードとリフレッシュ

認証コードとリフレッシュセクション
// For providers that support this mode
const authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });
await SocialLogin.refresh({ provider: 'google', options: {} as never });
const jwt = await SocialLogin.decodeIdToken({
idToken: 'eyJhbGciOi...',
});
const { date } = await SocialLogin.getAccessTokenExpirationDate({
accessTokenExpirationDate: Date.now() + 3600 * 1000,
});
const expired = await SocialLogin.isAccessTokenExpired({
accessTokenExpirationDate: Date.now() + 1000,
});
const active = await SocialLogin.isRefreshTokenAvailable({ refreshToken: 'a-token' });

プロバイダーの特定の注釈

プロバイダーの特定の注釈 セクション

Google オフライン モード

Google オフライン モード セクション

google.mode: 'offline' 戻り値 serverAuthCode ログインから。 このモードでは、ログアウト、isLoggedIn、getAuthorizationCode、refreshは利用できません。

使用 serverAuthCode のみ、バックエンドのトークン交換に使用してください。 アプリ内で呼び出す必要がある場合は代わりに使用してください。 SocialLogin.refresh() Apple google.mode: 'online' 「Apple」

Set useProperTokenExchange: true 「OAuth2 Webリダイレクトフロー」 useBroadcastChannel: true Set

厳格なトークンハンドリングとAndroidの簡素化されたセットアップのために

Use

使用 OAuth2LoginOptions.flow: 'redirect' ページから離れるWebフロー向けに

動的プロバイダー依存関係

「動的プロバイダー依存関係」

特定のプロバイダーを含めることでネイティブアプリサイズを削減できます。この機能は、必要なプロバイダーだけを使用するアプリに最も役立ちます。

プロバイダー設定を追加 capacitor.config.ts:

import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'MyApp',
webDir: 'dist',
plugins: {
SocialLogin: {
providers: {
google: true,
facebook: true,
apple: true,
twitter: false,
},
logLevel: 1,
},
},
};
export default config;

プロバイダー値の意味は

  • true: プロバイダーが有効で、ネイティブ依存関係がバンドルされます。
  • false: プロバイダーが無効で、ネイティブ依存関係がバンドルされません。

重要な詳細

  • Run bunx cap sync プロバイダーの設定を変更した後。
  • プロバイダーの設定が提供されない場合は、すべてのプロバイダーが true バックアップの互換性のために。
  • プロバイダーを無効にする false システムAPIのみを使用するプロバイダーであっても、実行時には利用できません。
  • iOSとAndroidのみに影響します。Webには影響しません。
  • Apple Sign-In on Android uses OAuth without external SDK dependencies.
  • Twitter/X uses standard OAuth 2.0 without external SDK dependencies.

Google Sign-InとApple Sign-Inのみを含めるには:

plugins: {
SocialLogin: {
providers: {
google: true,
facebook: false,
apple: true,
twitter: false,
},
},
}

Getting Startedから続ける

Getting Startedから続ける

あなたは「Getting Startedから続ける」を使用している場合 はじめに 認証とアカウントフローの計画に役立つように接続してください。 @capgo/capacitor-social-loginを使用 @capgo/capacitor-social-loginのネイティブ機能を使用 @capgo/capacitor-ソーシャルログイン @capgo/capacitor-passkey @capgo/capacitor-passkeyの実装詳細 @capgo/capacitor-native-biometric @capgo/capacitor-native-biometricの実装詳細 @capgo/capacitor-native-biometricの実装詳細について 2要素認証の実装詳細 2要素認証の実装詳細のために。