Polymer で firebase-auth 要素と firebase-document 要素を使用しています。プロバイダーとして「google」でサインインしています。私のfirebaseデータベースは以下のようなものです:
firebase-app-id-location
[-]users
[-]user1.uid
[-]user2.uid
そのため、「Google」を使用してサインアップする新しいユーザーを作成する予定です。各ノード user1.uid には、独自の詳細が含まれます。全員の詳細を非公開にするために、以下のセキュリティ ルールを設定しました。
"rules": {
"users": {
"$uid": {
// grants write access to the owner of this user account whose uid must exactly match the key ($uid)
".write": "auth !== null && auth.uid === $uid",
".read": "auth !== null && auth.uid === $uid"
コードをテストするために、firebase ダッシュボードを使用してユーザーの下に手動でノードを作成しましたが、すべて正常に動作しています。しかし今、ユーザーはどのようにしてサインアッププロセスを開始するのでしょうか? ノードはログインしたユーザーのみが読み取り/書き込み可能であるためusers/
、ユーザーが既に存在するかどうかを確認し、存在しusers/
ない場合は新しいノードを作成するにはどうすればよいですかusers/user3.uid
。サイドfirebase-document
ポリマー要素では、場所を として設定しています
location = "firebase-app-location.com/users/user.uid"
。ユーザーが存在する場合、アプリは正常に動作し、データを取得しています。しかし、ユーザーが存在しない場合は、users/ の下にノードを作成し、プリセットのダミー データをロードします。
何か案は?これを機能させる方法。