iOS: 複数のFirebaseプロジェクト間連携をする

p0dee
May 12, 2021

Firebaseを活用するにおいて、複数のFirebaseプロジェクトをまたいで、各Firestoreにアクセスしたいケースがある。例えば、あるユーザーマスタを、複数のアプリ/サービスから参照したいとき、各アプリ/サービス固有のプロジェクトとは別に、ユーザーマスタを保有するFirebaseプロジェクトが必要になる。

単一のFirebaseプロジェクトを利用するのであれば難はないものの、こうしたケースにおいて、特に各Firestoreに認証を伴ってアクセスする場合、どのように実装すれば良いか。この解決法が、The Firebase Blogにて紹介されていた。

↑日本語訳版

これらの記事で扱っているのはAndroidだが、当然iOSでも同じことが実現可能だ。今回はその一連の実装を試してみたので、手順を備忘録。

  • 連携元: 各アプリ/サービス固有のFirebaseプロジェクト
    XcodeプロジェクトにGoogleService-Info.plistを追加するのはこっち
  • 連携先: ユーザーマスタを保有するFirebaseプロジェクト
  1. 連携元のFirebase AuthenticationにGoogleログインを有効にする
  2. 連携先のFirebaseプロジェクトにiOSを追加し、GoogleService-Info.plistをダウンロードする
  3. GoogleService-Info.plist(連携先)から、CLIENT_IDを取得して、連携元のFirebase Authentication Googleログインのsafe listに追加する
  4. 連携箇所を以下のように実装する

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

No responses yet

Write a response