Google ログイン設定
インストール手順とこのプラグインの完全なマークダウンガイドを含むセットアッププロンプトをコピーしてください。
このガイドでは、Capgo Social LoginとGoogleログインをセットアップする方法を学びます。Googleログインをセットアップするには、以下のものが必要です。
- Googleアカウント
この部分では、Googleによって表示されるログイン画面を設定します。
- 以下の手順に従ってください。 console.cloud.google.com
- プロジェクトセレクターをクリックしてください
- プロジェクトがなければ、 新しいプロジェクトを作成してください.
- Google Consoleで
New project
- 新しいプロジェクトの名前を入力して
Create
- 正しいプロジェクトが選択されていることを確認してください
- Google Consoleで
- Capgoの設定を始めます
OAuth consent screen-
検索バーをクリックしてください
-
検索して
OAuth consent screenクリックしてください
-
ConsentScreenの設定
クリックしてください
create
-
- アプリの情報を入力してください
-
始めましょう
App Information
- __CAPGO_KEEP_0__を入力してください
App Name - __CAPGO_KEEP_1__を入力してください
user support email
-
__CAPGO_KEEP_3__ __CAPGO_KEEP_4__ アプリロゴを追加してください。
-
あなた SHOULD configuring the
App domain
-
You HAVE TO provide the developer’s email
-
Click on
save and continue
- __CAPGO_KEEP_0__を入力してください
-
- Configure the scopes
-
Click on
add or remove scopes
-
Select the following scopes and click
update
-
クリック
save and continue
-
- テストユーザーを追加
- クリックして
add users
- Google メールアドレスを入力し、Enter を押してから
add
- クリック
save and continue
- クリックして
- クリック
back to dashboard
- アプリを検証用に提出する
オンラインアクセスとオフラインアクセスの違い
「オンラインアクセスとオフラインアクセスの違い」GoogleログインをCapacitorと組み合わせる方法は複数あります。以下の表は、2つの方法の主な違いをまとめています。
| オンラインアクセス | オフラインアクセス | |
|---|---|---|
| バックエンドが必要 | ❌ | ✅ |
| 長期アクセストークン | ❌ | ✅ |
| 簡単なセットアップ | ✅ | ❌ |
この場合、オンラインアクセスを選択してください。
-
アプリはクライアントからGoogle APIを呼びますが、バックエンドから呼びません。
この場合、オンラインアクセスを選択してください。
-
アプリはバックエンドからGoogle APIを呼びますが、ユーザーがアプリを使用している場合のみ。
この場合、オンラインアクセスを選択してください。
-
texts
In this case, choose online access
-
あなたのアプリは、ユーザーがアプリを使用していなくても、定期的にユーザーのカレンダーをチェックします
この場合、オフラインアクセスを選択してください
オンラインアクセスの例
オンラインアクセスの例このチュートリアルのこの部分では、ユーザーをバックエンドで検証する方法を示します
この例は非常に単純で、以下の技術に基づいています
この例のcodeはこちらで見つけることができます ここ
ユーザーが見ることができます
アイデアはとても単純です。単純なリクエストを送信し、有効なトークンかどうかを確認し、有効であればユーザーのメールアドレスやユーザーに関するその他の情報を提供します。 GET Google OAuth Playground により、トークン情報のレスポンスとユーザー詳細を表示 https://www.googleapis.com/oauth2/v3/tokeninfo そこから、ユーザーに独自の JWT を発行したり、セッション Cookie を発行したりすることができます。最終的な認証実装の可能性は無限です。
Google の OAuth 2.0 Playground
If you do want to call Google API’s, I would strongly recommend looking at 独自のバックエンドを使用したオフライン アクセスセクションのタイトル “独自のバックエンドを使用したオフライン アクセス”
オフライン アクセスを使用するには、以下が必要です。
オフライン アクセスを使用するには、以下のものが必要です。オフライン アクセスを使用するには、以下のものが必要です。
- __CAPGO_KEEP_0__
このアプリでオフラインアクセスを提供するために使用する技術は以下の通りです。
-
(シンプルなデータベース) この例の __CAPGO_KEEP_0__ は
The code for this example can be found クライアント __CAPGO_KEEP_0__ は
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()); }}ここでは、呼び出しはありません。アプリに呼び出しがないのは意図的にそうです。Googleオフラインモードでは、リフレッシュは、バックエンドがリフレッシュトークンを安全に保存するまで行われません。 SocialLogin.refresh() Googleオフラインモードでは、リフレッシュは、バックエンドがリフレッシュトークンを安全に保存するまで行われません。 serverAuthCode Googleログインセットアップから続けてください。
Googleログインセットアップから続けてください。
Googleログインセットアップを使用して、認証とアカウントフローの計画を行っている場合、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-loginと接続してください。Googleログインセットアップを使用して、認証とアカウントフローの計画を行っている場合、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-loginと接続してください。 Googleログインセットアップを使用して、認証とアカウントフローの計画を行っている場合、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-loginと接続してください。 Googleログインセットアップを使用して、認証とアカウントフローの計画を行っている場合、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-loginと接続してください。 Googleログインセットアップを使用して、認証とアカウントフローの計画を行っている場合、@capgo/capacitor-social-loginと接続してください。 Googleログインセットアップを使用して、認証とアカウントフローの計画を行っている場合、@capgo/capacitor-social-loginと接続してください。 Googleログインセットアップを使用して、認証とアカウントフローの計画を行っている場合、@capgo/capacitor-social-loginと接続してください。 Googleログインセットアップを使用して、認証とアカウントフローの計画を行っている場合、@capgo/capacitor-social-loginと接続してください。 @capgo/capacitor-passkey @capgo/capacitor-passkeyの実装詳細 @capgo/capacitor-native-biometric @capgo/capacitor-native-biometricの実装詳細と 2要素認証 2要素認証の実装詳細