2017-04-15 28 views
0

私はfirebaseを初めて使用しており、ユーザー名/パスワード認証とGoogle認証を使用してアプリを実装するための基本的なチュートリアルに従っています。Googleを使用したFirebaseアプリのユーザー登録

明らかに、私はアプリケーションにログオンできますが、ユーザーを登録して特定の役割を割り当てたいと思っています。一例として、アプリケーション内に2種類のユーザー、購入者と販売者、またはサービスとサービスプロバイダーを要求するユーザーがいるとします。私は、電子メール/パスワードのユーザーのための基本的な登録ページを持っていますが、私は追加のフィールドに追加する可能性がありますが、どのタイプのユーザーであるかを示していますが、GoogleやtwitterなどのフェデレーションIDプロバイダの登録ページの実装方法はわかりません。

これらのプロバイダのいずれかを使用してユーザーを特定のロールに登録するにはどうすればよいですか?

私は例を検索しましたが、私は後に何を見つけることができませんでした。

+0

多くのトップの回答をご覧ください:https://www.google.com/search?q=site:stackoverflow.com+firebase+add+user+properties –

+0

ありがとう@FrankvanPuffelen。私は明らかな何かを見逃しているはずですが、Google、Twitter、FacebookなどのIDプロバイダとの連携についてはまだ分かりません。 – pjr

+0

既存のIDプロバイダにプロパティを追加することはできません。したがって、自分のアイデンティティプロバイダを作成するか、セキュリティで保護しようとしているシステムにアクセスできる場所でプロパティを格納する必要があります。 –

答えて

1

残念ながらFirebaseUserに余分なフィールドを追加することはできません。 「real-time database」を使用する必要があります。 "users"という名前のデータベースノードを作成し、そこにユーザ固有のフィールドを保存することができます(データベースのキーとしてFirebaseUser UIDを使用します)。その後、あなたのアプリにログインしたユーザーは、データベースから情報を得ることができます。

詳細を説明するには、firebase認証を使用してログインしてユーザーを登録する必要があります。その後、ユーザーの情報をリアルタイムデータベースノードに保存します(登録完了など)。その後、ログイン後(firebase認証で)、ユーザのuidを使用して、リアルタイムデータベースからすべてのユーザの詳細を取得します。ユーザーが他のユーザーのプロファイルを表示できる場合にも必要です。「認証テーブル」から別のユーザー情報を取得することはできません。

+0

ありがとう@Utnapishtim別のUsersテーブルを調べますが、このテーブルでGoogle、Facebook、Twitter経由で自分自身を認証するユーザーを登録するにはどうすればよいですか?私はこれの例を見つけることができないようです。 – pjr

+0

いいえ、firebase認証を使用してユーザーを登録しログインする必要があります。 firebaseが「認証」で保存しないその他の情報を格納するには、リアルタイムデータベースを使用する必要があります。私は答えを編集します。 – Utnapishtim

関連する問題