iOS と macOS で Google ログインを使用する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

iOS または macOS アプリと Google ログイン コンポーネントの統合を開始する前に、依存関係をダウンロードして Xcode プロジェクトを構成する必要があります。このページの手順では、この処理を行います。次のステップでは、Google ログイン機能をアプリに統合する方法について説明します。

始める前に

最新バージョンの Xcode をインストールします。

プロジェクトに Google ログインの依存関係をインストールする

CocoaPods

  1. CocoaPods がまだインストールされていない場合は、CocoaPods スタートガイドの手順に沿って操作してください。

  2. ターミナル ウィンドウを開き、アプリの Xcode プロジェクトに移動します。

  3. アプリケーションの Podfile をまだ作成していない場合は、ここで作成します。

    pod init

  4. アプリケーション用に作成された Podfile を開き、以下を追加します。

    pod 'GoogleSignIn'

  5. SwiftUI を使用している場合は、[Google でログイン] ボタンに Pod 拡張機能

    pod 'GoogleSignInSwiftSupport'
    も追加します。

  6. ファイルを保存し、

    pod install
    を実行します。

  7. アプリケーション用に生成された .xcworkspace ワークスペース ファイルを Xcode で開きます。このファイルは、アプリケーションで今後行うあらゆる開発で利用できます。(これは、付属の .xcodeproj プロジェクト ファイルとは異なるため、開いたときにビルドエラーが発生します。

    例については、Objective-C サンプルアプリの Podfile をご覧ください。

Swift Package Manager

  1. Xcode でプロジェクトを開きます。

  2. Google ログインの依存関係をアプリに追加します(Xcode のドキュメント)。

    リポジトリ https://github.com/google/GoogleSignIn-iOS
    バージョン 6.0.2
    パッケージ パッケージ Google ログイン
  3. SwiftUI を使用している場合は、[Google でログイン] ボタン用に次の拡張機能パッケージ プロダクトも追加します。

    パッケージ パッケージ Google ログイン Swift

OAuth クライアント ID を取得する

アプリを Google の認証バックエンドで識別するには、OAuth クライアント ID が必要です。iOS アプリと macOS アプリでは、OAuth クライアント ID のアプリケーション タイプを iOS として設定する必要があります。

OAuth クライアント ID をまだ作成していない場合は、下のボタンをクリックして作成します。

OAuth クライアント ID を作成する

OAuth クライアント ID を作成したら、アプリで Google ログインを構成する必要があるクライアント ID の文字列をメモしておきます。後で参照するために、必要に応じてクライアント ID とその他の構成データを含む構成ファイルをダウンロードできます。

OAuth クライアント ID をすでに作成している場合は、下のボタンをクリックすると、既存の OAuth 情報を確認できます。

既存の OAuth クライアント ID を取得する

OAuth サーバー クライアント ID を取得する

ほとんどのアプリでは、ログイン済みユーザーの ID をなんらかのバックエンド サービスに渡す必要があります。Google でログインしたユーザーの ID をバックエンドに安全に渡すには、バックエンド サーバーで認証するで説明されているように、ID トークンを使用します。ユーザーの ID トークンを取得するには、バックエンドを表す 2 つ目のクライアント ID(サーバー クライアント ID)が必要です。

サーバー クライアント ID を作成するには:

  1. Cloud Console でプロジェクトを開きます。

  2. 新しいウェブ アプリケーション タイプの OAuth クライアント ID を作成します。クライアント ID 文字列をメモします。アプリで Google ログインを構成する必要があります。

アプリケーション プロジェクトを構成する

Google ログインを使用するには、OAuth クライアント ID とカスタム URL スキームでプロジェクトを構成する必要があります。必要に応じて、バックエンド認証用のサーバー クライアント ID を追加したり、Google Workspace ドメイン向けにアプリを最適化したりすることもできます。

OAuth クライアント ID とカスタム URL スキームの追加

アプリの Info.plist ファイルを更新して、反転クライアント ID に基づく OAuth クライアント ID とカスタム URL スキームを追加します。

反転クライアント ID は、ドット区切りのフィールドの順序を逆にしてクライアント ID です。これは、Cloud Console で既存の iOS OAuth クライアントを選択するときに、[iOS URL スキーム] にも表示されます。次に例を示します。 com.googleusercontent.apps.1234567890-abcdefg

<key>GIDClientID</key>
<string>YOUR_IOS_CLIENT_ID</string>
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
    </array>
  </dict>
</array>

省略可: バックエンド認証を構成する

バックエンド認証でユーザーの ID トークンを取得する必要がある場合は、アプリの Info.plist ファイルで GIDServerClientID キーも設定します。

<key>GIDServerClientID</key>
<string>YOUR_SERVER_CLIENT_ID</string>

省略可: Google Workspace ドメインまたは OpenID レルム向けに最適化する

Google Workspace ドメインのログインフローを最適化する場合は、GIDHostedDomain パラメータを使用します。

<key>GIDHostedDomain</key>
<string>YOUR_HOSTED_DOMAIN</string>

OpenID のレルムを指定する場合は、GIDOpenIDRealm パラメータを使用します。

<key>GIDOpenIDRealm</key>
<string>YOUR_OPENID_REALM</string>

アプリに署名する

キーチェーンを介して認証情報を保存するには、macOS と iOS デバイスでネイティブに動作するために Apple が発行した証明書で署名する必要があります。

次のステップ

プロジェクトの依存関係をダウンロードし、Xcode プロジェクトを構成したので、iOS アプリに Google ログインを追加できます。