問題タブ [firebase-polymer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firebase - ポリマーファイアでログインしている管理者を確認する方法は?
単一アプリの Polymer Web アプリの json データストアから Polymerfire に変更しました。私の Web アプリのすべてのデータは公開されており、1 人の管理者だけがデータを変更する必要があるため、すべてのページ データに対して 1 つのトップ ノードしかありません。
ログインには、パブリック プロバイダーで firebase-auth 要素を使用し、管理者に書き込み権限を与えるルールを設定しました。
しかし今、ログインしている管理者にフィードバックを提供して、ログインしていることを示す方法に苦労しています。そのために、データベースに 2 番目のトップノード (「isAdmin」) を追加しました。 、キーは「Admin」、ブール値は「true」です。私は firebase-document でそれにバインドし、次のように dom-if テンプレートで使用しようとしました:
ただし、ログインした管理者のみがノードを読み取ることができるため、ログイン後にブラウザを更新した場合にのみ、javascript で管理者の値が実際に変更されることはありません。したがって、次のように状態をログに記録しようとすると:
私はいつも得ます:
Value for admin stored in firebase-document element: undefined
Polymer property for admin: undefined
ログインしていても、_checkAdmin 関数から戻ってきます。管理者ログイン後にページを更新したときにのみ、isAdmin ノードに格納されたオブジェクトを含む firebase-document からログを取得します。
、ログアウトしても、この値に固執するようになりました。私の_checkAdmin関数は、常にこれを記録します:
その後、さまざまなことを試みましたが失敗しましたが、これはログインしている管理者を確認する適切な方法ではないと思いますか? JavaScriptで直接uidをチェックする必要はないと思います。
プロが近くにいて、私を助けてくれると嬉しいです、アレックス
Michael Bleigh の助けのおかげで、次のように最終的に機能するようになりました。