Google Loginの設定
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
はじめに
セクション「はじめに」このガイドでは、Capgo Social Login を使用して Google Login をセットアップする方法を説明します。セットアップには以下が必要です:
- Google アカウント
基本設定
「基本設定」セクションここでは、Google が表示するログイン画面を設定します。
- 以下にアクセスしてください console.cloud.google.com
- プロジェクトセレクターをクリックします
- プロジェクトをまだ作成していない場合は、 新しいプロジェクトを作成してください.
- 次をクリックします:
New project
- プロジェクト名を入力してクリックします
Create
- 正しいプロジェクトを選択していることを確認してください
- 次をクリックします:
- 設定を開始します
OAuth consent screen-
検索バーをクリックします
-
を検索し、
OAuth consent screenをクリックします
-
同意画面を設定する
次をクリックします:
create
-
- アプリに関する情報を入力する
-
まず
App Information
- あなたの
App Name - 入力してください
user support email
-
お客様 可能 アプリのロゴを追加してください。
-
お客様 すべきです を設定してください
App domain
-
お客様 必須 開発者のメールアドレスを入力してください
-
次をクリックします:
save and continue
- あなたの
-
- スコープを設定
-
次をクリックします:
add or remove scopes
-
以下のスコープを選択してクリックしてください
update
-
クリック
save and continue
-
- テストユーザーを追加
- 次をクリックします:
add users
- Googleのメールアドレスを入力してEnterを押し、クリックします
add
- クリック
save and continue
- 次をクリックします:
- クリック
back to dashboard
- アプリの確認を申請する
オンラインアクセスとオフラインアクセスの違い
セクション「オンラインアクセスとオフラインアクセスの違い」Capacitor で Google Login を利用する方法はいくつかあります。以下の表に、2つの違いをまとめています。
| オンラインアクセス | オフラインアクセス | |
|---|---|---|
| バックエンドが必要 | ❌ | ✅ |
| 長期有効なアクセストークン | ❌ | ✅ |
| セットアップが簡単 | ✅ | ❌ |
どちらを選ぶべきか迷っている場合は、以下のシナリオを検討してください。
-
ユーザーがログインした直後にカスタム JWT を発行したい場合。アプリは Google API を呼び出しません
この場合は、オンラインアクセスを選択してください。
-
アプリがクライアントから一部の Google API を呼び出しますが、バックエンドからは呼び出しません
この場合は、オンラインアクセスを選択してください
-
アプリがバックエンドから一部の Google API を呼び出しますが、ユーザーがアプリをアクティブに使用している場合のみです
この場合は、オンラインアクセスを選択してください
-
ユーザーがアプリをアクティブに使用していない場合でも、定期的にユーザーのカレンダーを確認します
この場合は、オフラインアクセスを選択してください
オンラインアクセスのバックエンド例
オンラインアクセス用のバックエンドの例このチュートリアルのこの部分では、バックエンドでユーザーを検証する方法を示します。
この例は非常にシンプルで、以下の技術に基づいています:
この例の code はここで見つかります こちら
ご覧のとおり:
アイデアは比較的シンプルです。シンプルな GET リクエストを https://www.googleapis.com/oauth2/v3/tokeninfo これにより、トークンが有効かどうかを返します。有効な場合は、ユーザーのメールアドレスも取得できます。また、ユーザーのトークンに関するその他の情報も取得できます。
そこから、独自の JWT を発行したり、セッション Cookie を発行したりできます。最終的な認証実装には、可能性は無限大です。
Google の API を呼び出したい場合は、以下の確認を強くお勧めします。 Google の OAuth 2.0 Playground。そこから、呼び出せる API を簡単に確認できます。
独自のバックエンドでのオフラインアクセスの使用
セクション「独自のバックエンドでのオフラインアクセスの使用」オフラインアクセスを使用するには、以下が必要です:
- HTTP サーバー
この例では、アプリでオフラインアクセスを提供するために、以下の技術を使用します:
-
LowDb (シンプルなデータベース)
この例の code はこちらから確認できます こちら
クライアント側の code は以下のようになります:
import { Capacitor } from '@capacitor/core';import { GoogleLoginOfflineResponse, SocialLogin } from '@capgo/capacitor-social-login';import { usePopoutStore } from '@/popoutStore'; // <-- specific to my app
const baseURL = "[redacted]";
async function fullLogin() { await SocialLogin.initialize({ google: { webClientId: '[redacted]', iOSClientId: '[redacted]', iOSServerClientId: 'The same value as webClientId', mode: 'offline' // <-- important } }) const response = await SocialLogin.login({ provider: 'google', options: { forceRefreshToken: true // <-- important } })
if (response.provider === 'google') { const result = response.result as GoogleLoginOfflineResponse const res = await fetch(`${baseURL}/auth/google_offline`, { headers: { "Content-Type": "application/json" }, body: JSON.stringify({ serverAuthCode: result.serverAuthCode, platform: Capacitor.getPlatform() }), method: "POST" })
if (res.status !== 200) { popoutStore.popout("Full google login failed", "check console"); return }
const { jwt } = await res.json(); const userinfo = await fetch(`${baseURL}/auth/get_google_user`, { headers: { Authorization: `Bearer ${jwt}` } }) if (userinfo.status !== 200) { popoutStore.popout("Full google (userinfo) login failed", "check console"); return } popoutStore.popout("userinfo res", await userinfo.text()); }}ここで欠けているものに注目してください。ここには SocialLogin.refresh() アプリ内での呼び出しがありません。これは意図的なものです。Google のオフラインモードでは、バックエンドが交換を行い、 serverAuthCode リフレッシュトークンを安全に保存した後にリフレッシュが実行されます。
Google Loginの設定から続ける
「Google Loginの設定から続ける」というタイトルのセクション使用している場合 Google 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要素認証 二要素認証の実装の詳細については。