メインコンテンツにジャンプ

Googleログインセットアップ

GitHub

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

  • Googleアカウント

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

  1. 以下のリンクをクリックしてください。 Google Cloud Console
  2. プロジェクトセレクターをクリックしてください Google Console プロジェクトセレクター
  3. プロジェクトが既に存在しない場合は、 新しいプロジェクトを作成してください.
    1. クリックしてください New project Google Console の新しいプロジェクトボタン
    2. プロジェクト名を入力し、 Create プロジェクト名を入力する画面
    3. 正しいプロジェクトに切り替えてください プロジェクト名がセレクターに表示されていることを確認してください
  4. 設定を開始してください OAuth consent screen
    1. 検索バーをクリックしてください

      Google Consoleの検索バー
    2. 検索してください OAuth consent screen クリックしてください

      OAuth承認画面のオプションを表示する検索結果
    3. 承認画面の設定

      クリックしてください create

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

      アプリの情報セクションでアプリ名とユーザー支援メールアドレスのフィールドが表示されます
      • メールアドレスを入力してください App Name
      • メールアドレスを入力してください user support email
      1. You CAN appロゴを追加することができます。

        App logo upload section in OAuth consent screen
      2. You SHOULD configure the App domain

        App domain configuration section with authorized domains field
      3. 提供する必要があります 開発者のメールアドレス 開発者連絡先情報セクション

        メールアドレスフィールド
      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. アプリがクライアントから Google API を呼び出すことはありませんが、バックエンドから呼び出すことはありません。

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

  2. Your app will call some Google APIs from the client, but never from the backend

    In this case, choose online access

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

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

  4. アプリは、ユーザーのカレンダーを定期的に確認します。ただし、ユーザーがアプリを使用していない場合でも。

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

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

この例は非常に単純で、以下の技術に基づいて構築されます。

この例の code を見つけることができます。 ここ

ここで確認できます

CapacitorのCodeでGoogleの認証codeを表示します。これはトークンを検証するために使用されます。

アイデアは比較的単純です。単純なリクエストを送信し、有効なトークンかどうかを確認し、有効であればユーザーのメールアドレスやユーザーに関するその他の情報を取得します。 GET Google OAuth Playgroundでトークン情報のレスポンスを表示 https://www.googleapis.com/oauth2/v3/tokeninfo ここから、ユーザーに独自のJWTを発行したり、セッションクッキーを発行したりすることができます。最終的な認証実装の可能性は無限です。

Google __CAPGO_KEEP_0__を呼び出す場合は、強くお勧めします。

GoogleのOAuth 2.0 Playground

If you do want to call Google API’s, I would strongly recommend looking at 独自のバックエンドでオフラインアクセスを使用するここ

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

  • HTTPサーバー

この例では、以下の技術を使用して、オフラインアクセスを提供するアプリケーションを作成します。

この例の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要素認証