コンテンツにジャンプ

Social Login

GitHub

このガイドでは、iOSでGoogle Sign-InとFirebase Authenticationを統合する方法を説明します。既にiOS用のGoogle Sign-InとFirebase Authenticationのセットアップを完了していることを前提としています。 Firebase Google の一般的な設定.

セットアップ ステップ

セットアップ ステップ
  1. プロジェクトの概要画面に移動します。 console.cloud.google.com

    Firebase プロジェクトの概要
  2. 「アプリを追加する」ボタンをクリックします。 Add app ボタン

    Firebase アプリを追加するボタン Firebaseにアプリを追加するボタン
  3. 選択 iOS

    Firebaseにアプリを追加するiOSボタン
  4. フォームの最初の部分を埋めます

    1. フォームの Apple bundle ID
      1. Xcodeでアプリを使用している場所でXcodeを開きます npx cap open ios
      2. Xcodeプロジェクトナビゲータで App Xcodeプロジェクトナビゲータでアプリのターゲットをダブルクリックします
      3. Xcodeプロジェクトナビゲータでアプリのターゲットにいることを確認します Targets -> App XcodeのターゲットセクションにAppを選択
      4. 探してください Bundle Identifier Xcodeプロジェクト設定のBundle Identifierフィールド
      5. コピーして Bundle Identifier Firebaseコンソールに貼り付け Firebase Add App iOS Bundle IDフィールド
    2. ボタンをクリック Register app protectedTokens Firebase アプリを追加 iOS 登録ボタン
  5. 手順をスキップします。 Download config file ステップ

    Firebase アプリを追加 iOS ダウンロードをスキップするボタン
  6. 手順をスキップします。 Add firebase SDK ステップ

    Firebase アプリを追加 iOS ダウンロードをスキップする Firebase SDK ボタン
  7. 手順をスキップします。 Add initialization code ステップ

    Firebase アプリを追加 iOS 初期化を追加する Code ボタン
  8. ボタンをクリックします。 Continue to console Firebase アプリを追加 iOS 登録ボタン

    Firebaseにアプリを追加 iOSコンソールに進むボタン
  9. iOSクライアントIDと YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Google Cloudコンソールに移動する console.cloud.google.com

    2. プロジェクトを探す

      1. プロジェクトセレクターをクリックする Google Cloud Consoleプロジェクトセレクター
      2. Firebaseプロジェクトの完全な名前でプロジェクトを検索し、クリックする。私の場合は sociallogin-tutorial-app. Firebaseプロジェクトセレクター
    3. 検索バーを開く credentials

      1. 検索バーを開く Google Cloud Console検索バー
      2. 検索して credentials とクリックして APIs and Services スクリーンショットの2番目のアイテム Google Cloud Consoleのクレデンシャル検索
    4. クリックして iOS client for [YOUR_APP_ID] (auto created by Google Service) その1つ。私の場合は sociallogin-tutorial-app.

      Google Cloud ConsoleのクレデンシャルiOSクライアントID
    5. コピーして Client ID もコピーしてください。 iOS URL schemeそれぞれがあなたの iOSClientId と YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      の
  10. Google Cloud Console

    1. クライアントIDをコピー Build -> Authentication ウェブクライアントIDを取得
    2. Firebaseコンソールに戻り Sign-in method Firebase Authenticationメニューに移動してください。 Firebase Authentication サインイン方法ボタン
    3. この Google プロバイダー Firebase Authentication サインイン方法 Google プロバイダー
    4. この Web SDK configuration ボタン Firebase Authentication サインイン方法 Web SDK 設定ボタン
    5. この Web client IDをコピーしてください。 これは、 webClientId の initialize プラグインの Firebase Authentication Sign-in Method Web SDK Configuration Web Client ID
  11. アプリの Info.plist を変更する

    1. Xcode を開いて、プロジェクト ナビゲーターで Info.plist ファイル

      Xcode プロジェクト ナビゲーターで Info.plist ファイルを見つける
    2. Right click this file and open it as source code

      右クリックメニューの Open As Source Code オプション
    3. ファイルの下部に、 Plist タグ </dict> Info.plist ファイルの Closing dict タグ

      Info.plist ファイルの Closing dict タグの直前に、以下のフラグメントを挿入する
    4. __CAPGO_KEEP_0__ </dict> __CAPGO_KEEP_0__

      Info.plist に URL スキーム code を閉じる dict タグの前に挿入します。
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
      <key>GIDClientID</key>
      <string>YOUR_IOS_CLIENT_ID.apps.googleusercontent.com</string>
    5. を変更する YOUR_DOT_REVERSED_IOS_CLIENT_ID ステップ 9 (iOS URL スキーム) にコピーした値に変更します。

      Info.plist に実際のクライアント ID を挿入した URL スキーム
  12. は YOUR_IOS_CLIENT_ID STARTS

  13. ファイルを保存してください Command + S

  14. ファイルを修正してください AppDelegate.swift

    1. XcodeプロジェクトナビゲータでAppDelegate.swiftファイルを開いてください

      AppDelegate.swiftファイルのトップにGoogleSignIn importを追加してください
    2. ファイルに追加してください import GoogleSignIn AppDelegate.swiftファイルの先頭にGoogleSignIn importを追加してください

      AppDelegate.swiftファイルの先頭にGoogleSignIn importを追加してください
    3. AppDelegate.swiftファイルの先頭にGoogleSignIn importを追加してください func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) AppDelegate.swiftファイルの先頭にGoogleSignIn importを追加してください

      AppDelegate.swiftファイルの先頭にGoogleSignIn importを追加してください
    4. AppDelegate.swiftファイルの先頭にGoogleSignIn importを追加してください

      func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
      // Called when the app was launched with a url. Feel free to add additional processing here,
      // but if you want the App API to support tracking app url opens, make sure to keep this call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      GoogleSignInを取り入れたアプリケーションのopenURL関数を変更しました。
    5. ファイルを保存してください。 Command + S

  15. Googleログインをアプリに使用する

    このステップで、Googleログインをアプリに使用する準備が整いました。 Googleログインを使用するには authUtils.ts 例のアプリのファイルauthUtils.tsを使用してGoogleで認証する

ユーザーは初めてのサインイン時に自動的にFirebase Authに作成されます。

トラブルシューティング

トラブルシューティング

認証がハングしたり失敗した場合:

  • FirebaseのWebクライアントIDと一致する idToken アクセス対象ユーザーが
  • Google Sign-Inを有効にしたことを確認してください
  • Firebase ConsoleでInfo.plistに正しいURLスキームとGIDClientIDが含まれていることを確認してください
  • 確認 iOSServerClientId ウェブクライアントIDと一致することを確認してください
  • 参考用の例アプリ example app code __CAPGO_KEEP_0__

Firebase Google Login on iOSから続けてください

Firebase Google Login on iOSのセクション

Firebase Google Login on iOSを使用して、認証とアカウントフローの計画を行っている場合 Firebase Google Login on iOSを接続してください Firebase Google Login on iOSの続き Capacitorで使用する@capgo/capacitor-social-login Capacitorのnative capabilityのためにCapacitorで使用する@capgo/capacitor-social-login Capacitorで@capgo/capacitor-social-login Capacitorのimplementation detailのためにCapacitorで@capgo/capacitor-social-login Capacitorで@capgo/capacitor-passkey Capacitorのimplementation detailのためにCapacitorで@capgo/capacitor-passkey Capacitorで@capgo/capacitor-native-biometric Capacitorのimplementation detailのためにCapacitorで@capgo/capacitor-native-biometric、 2要素認証 Capacitorのimplementation detailのために2要素認証