Web クライアント アプリケーションを構成するためのFirebase ドキュメントに記載されている手順に従うと、Google Developers Console で新しいクライアント アプリを作成する必要があると表示されます。これで問題ありません。ただし、サービスの Android クライアント アプリ用にここで定義されたクライアント アプリが既にあります。それぞれに独自の Google コンソール クライアント ID があり、Firebase では、Firebase ダッシュボードの [ログインと認証] セクションで 1 つのクライアント ID とクライアント シークレットのみを入力できます。何か足りないものがありますか、それとも 1 つの Firebase アプリではウェブと Android クライアント アプリの両方をサポートすることはできませんか?
2 に答える
これはgoogle groupで回答されたようです。
複数の異なるアプリケーション タイプで Google ログインを使用するためのワークフローは、Google デベロッパー コンソールで 1 つのプロジェクトを作成し、複数の個別のクライアント ID (Web 用、Android 用、iOS 用など) を使用することです。ただし、それらがすべて同じプロジェクトに属していることを確認してください。次に、Firebase のダッシュボードで、Web アプリケーションのクライアント ID とシークレットを使用します。そして、それはそれであるべきです。Firebase に Android または iOS のクライアント ID を伝える必要はまったくなく、問題なく動作するはずです。
Google Developer Console で 2 つのプロジェクトを作成しました。1 つは Android クライアントを提供し、もう 1 つは Web クライアントを提供します。私もあなたが直面している同様の問題/シナリオに直面しました。
これが私のために働いたものです。firebase のログインと認証のダッシュボードでは、Android アプリのクライアント ID を使用しました。そのため、Web アプリ (別の Google プロジェクトを使用している) のクライアント ID を指定するスペースがありません。Web API の Firebase auth メソッド (以下を除く) は、Web アプリでは機能しませんでした。しかし、以下の1つは機能しました(oAuthTokenを使用したもの)
ref.authWithOAuthToken("google", "<ACCESS-TOKEN>", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload:", authData);
}
});