Googleログインセットアップ
コピー可能なセットアッププロンプトにインストールステップとこのプラグインのフルマークダウンガイドまでの全てのステップを含める
このガイドでは、Capgo Social LoginとGoogleログインを設定する方法を学びます。Googleログインを設定するには、以下のものが必要です。
- Googleアカウント
一般設定
セクション「一般設定」このセクションでは、Googleによって表示されるログイン画面を設定します。
- 以下のリンクをクリックしてください。 Google Cloud Console
- プロジェクトセレクターをクリックしてください
- プロジェクトが既に存在しない場合は、 新しいプロジェクトを作成してください.
- クリックしてください
New project
- プロジェクト名を入力し、
Create
- 正しいプロジェクトに切り替えてください
- クリックしてください
- 設定を開始してください
OAuth consent screen-
検索バーをクリックしてください
-
検索してください
OAuth consent screenクリックしてください
-
承認画面の設定
クリックしてください
create
-
- アプリの情報を入力してください
-
始めに
App Information
- メールアドレスを入力してください
App Name - メールアドレスを入力してください
user support email
-
You CAN appロゴを追加することができます。
-
You SHOULD configure the
App domain
-
提供する必要があります 開発者のメールアドレス 開発者連絡先情報セクション
-
保存して続行
save and continue
- メールアドレスを入力してください
-
- スコープを設定
-
設定ボタン
add or remove scopes
-
以下のスコープを選択し、クリックしてください
update
-
クリックしてください
save and continue
-
- テストユーザーを追加
- クリックしてください
add users
- Googleのメールアドレスを入力し、Enterキーを押し、クリックしてください
add
- クリックしてください
save and continue
- クリックしてください
- クリック
back to dashboard
- アプリを検証申請する
オンラインアクセスとオフラインアクセスの違い
オンラインアクセスとオフラインアクセスの違いGoogleログインを使用する方法は複数あります。Capacitorの特徴を以下の表にまとめました。
| オンラインアクセス | オフラインアクセス | |
|---|---|---|
| バックエンドが必要 | ❌ | ✅ |
| 長期アクセストークン | ❌ | ✅ |
| 簡単な設定 | ✅ | ❌ |
この場合、オンライン アクセスを選択してください。
-
アプリがクライアントから Google API を呼び出すことはありませんが、バックエンドから呼び出すことはありません。
この場合、オンライン アクセスを選択してください。
-
Your app will call some Google APIs from the client, but never from the backend
In this case, choose online access
-
アプリは、ユーザーがアプリを使用している際にのみ、Google APIをバックエンドから呼び出すことになります。
この場合、オンラインアクセスを選択してください。
-
アプリは、ユーザーのカレンダーを定期的に確認します。ただし、ユーザーがアプリを使用していない場合でも。
この場合、オフラインアクセスを選択してください。
オンラインアクセスの例
セクション:オンラインアクセスの例このチュートリアルのこの部分では、ユーザーをバックエンドで検証する方法を示します。
この例は非常に単純で、以下の技術に基づいて構築されます。
この例の code を見つけることができます。 ここ
ここで確認できます
アイデアは比較的単純です。単純なリクエストを送信し、有効なトークンかどうかを確認し、有効であればユーザーのメールアドレスやユーザーに関するその他の情報を取得します。 GET Google OAuth Playgroundでトークン情報のレスポンスを表示 https://www.googleapis.com/oauth2/v3/tokeninfo ここから、ユーザーに独自のJWTを発行したり、セッションクッキーを発行したりすることができます。最終的な認証実装の可能性は無限です。
GoogleのOAuth 2.0 Playground
If you do want to call Google API’s, I would strongly recommend looking at 独自のバックエンドでオフラインアクセスを使用するここ
オフラインアクセスを使用するには、以下が必要です。
- HTTPサーバー
この例では、以下の技術を使用して、オフラインアクセスを提供するアプリケーションを作成します。
-
LowDb (シンプルなデータベース)
この例のcodeは ここで
As for the client code, it looks like this:
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ログイン設定から続けてください
セクション名 “Googleログイン設定から続けてください”
Googleログイン設定を使用している場合Googleログイン設定 Googleログイン設定を使用して 認証とアカウントフローの計画を行っている場合、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-loginを接続してください @capgo/capacitor-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要素認証 2要素認証