コンテンツにジャンプ

Google ログイン設定

GitHub

このガイドでは、Capgo Social LoginとGoogleログインを設定する方法を学びます。Googleログインを設定するには、以下が必要です。

  • Googleアカウント

このセクションでは、Googleによって表示されるログイン画面を設定します。

  1. ここに移動してください console.cloud.google.com
  2. プロジェクトセレクターをクリックしてください Google Console プロジェクト セレクター
  3. プロジェクトがまだない場合は、新しいプロジェクトを作成してください Note: If you don’t have a project already, please create a new project.
    1. Google Consoleで New project Google ConsoleのNew Projectボタンをクリック
    2. プロジェクト名を入力し、 Create プロジェクト名を入力する画面
    3. 正しいプロジェクトが選択されていることを確認 プロジェクト名が選択肢に表示されていることを確認
  4. Google Consoleの設定を始める OAuth consent screen
    1. 検索バーをクリック

      Google Consoleの検索バー
    2. 検索 OAuth consent screen 検索結果を表示

      OAuth承認画面のオプションをクリック
    3. Googleアカウント連携プラグインの設定

      選択 create

      OAuth承認画面のユーザータイプの選択
  5. 外部と内部の両方のオプション
    1. アプリの情報を入力してください App Information

      アプリの情報のセクション
      • アプリ名とサポート用メールアドレスの入力 App Name
      • 入力 user support email
      1. あなたは できる アプリロゴを追加できます。

        OAuthconsent screenのアプリロゴアップロードセクション
      2. You SHOULD アプリのドメイン設定セクションの有効なドメインフィールドを設定する App domain

        このデモは単純で、公開されないため、実行しませんが、強く推奨します。このセクションを埋めます。
      3. You 必要に応じて __CAPGO_KEEP_0__の開発者のメールアドレスを提供する必要があります

        __CAPGO_KEEP_0__の開発者の連絡先情報セクションにメールアドレスフィールド
      4. フォームの下部にある save and continue

        セーブ・アンド・コンティニューボタン
  6. スコープの設定
    1. フォームの下部にある add or remove scopes

      スコープの設定画面のスコープの追加または削除ボタン
    2. 以下のスコープを選択し、 update

      メールアドレスとプロフィールスコープが選択されたスコープの選択ダイアログ
    3. ボタンをクリック save and continue

      スコープの設定画面のセーブ・アンド・コンティニューボタン
  7. テストユーザーを追加する
    1. クリックしてください add users テストユーザーセクションのユーザー追加ボタン
    2. Googleのメールアドレスを入力し、Enterを押して、クリックしてください add テストユーザー用のメール入力フィールドと追加ボタン
    3. クリックしてください save and continue テストユーザー画面の保存と続行ボタン
  8. クリックしてください back to dashboard 完了ページの下部にあるダッシュボードに戻るボタン
  9. 検証のためにアプリを提出する

オンラインアクセスとオフラインアクセスの違い

「オンラインアクセスとオフラインアクセスの違い」

Googleログインを使用する方法は複数あります。Capacitorの詳細は以下の表でまとめてあります。

オンラインアクセスオフラインアクセス
バックエンドが必要❌✅
長期的なアクセストークン❌✅
簡単な設定✅❌

あなたがどちらを選択すべきかまだわからない場合は、以下のシナリオを考慮してください:

  1. ユーザーがログインすることを望み、すぐにカスタムJWTを発行する予定です。アプリはGoogle APIを呼びません。

    この場合、オンラインアクセスを選択してください。

  2. アプリはクライアントからGoogle APIを呼びますが、バックエンドから呼びません。

    この場合、オンラインアクセスを選択してください。

  3. アプリはバックエンドからGoogle APIを呼びますが、ユーザーがアプリを使用しているときに限ります。

    この場合、オンラインアクセスを選択してください。

  4. アプリはユーザーのカレンダーを定期的にチェックしますが、ユーザーがアプリを使用していないときでも。

    この場合、オフラインアクセスを選択してください。

オンラインアクセスの例バックエンド

Section titled “オンラインアクセスの例用バックエンド”

このチュートリアルのこの部分では、ユーザーをバックエンドで検証する方法を示します。

この例は非常に単純で、以下の技術に基づいています:

Capgoの例では、codeはこの場所で見つけることができます。 ここで確認できます。

VS __CAPGO_KEEP_0__がGoogle認証 __CAPGO_KEEP_1__を実行し、トークンを検証しています。

VS Code で Google 認証 code を表示します。

リクエストを GET protectedTokens https://www.googleapis.com/oauth2/v3/tokeninfo とこのリターンは、トークンが有効であるかどうかを判断し、有効であればユーザーのメールアドレスを返します。また、ユーザーのトークンに関する他の情報も提供します。

Google OAuth Playgroundでユーザー詳細を含むトークン情報のレスポンスを表示

ここから、ユーザーに独自のJWTを発行したり、セッションクッキーを発行したりすることができます。最終的な認証実装の可能性は無限です。

If you do want to call Google API’s, I would strongly recommend looking at GoogleのOAuth 2.0 Playground. ここから、呼び出すことができるAPIを簡単に確認できます。

オフラインアクセスを使用する

オフラインアクセスを使用する

オフラインアクセスを使用するには、以下が必要です。

  • HTTPサーバー

この例では、オフラインアクセスを提供するために、以下の技術を使用します。

この例の 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());
}
}

Google のソーシャルログインプラグインの設定では、以下の情報が必要です。 SocialLogin.refresh() リフレッシュトークン serverAuthCode リフレッシュトークンを取得する

Google ログイン設定から続けてください

Google ログイン設定から続けてください

Google ログイン設定を使用している場合 Google ログイン設定 認証とアカウントフローの計画に使用している場合、Google ログイン設定を接続してください Capgoで使用する@capgo/capacitor-social-login Using @capgo/capacitor-social-login Using @capgo/capacitor-social-login Using @capgo/capacitor-passkey Using @capgo/capacitor-passkey Using @capgo/capacitor-native-biometric Using @capgo/capacitor-social-login Capgoの実装詳細については@capgo/capacitor-native-biometricのページを参照してください。 2要素認証 Capgoの実装詳細については2要素認証のページを参照してください。