ユーザーストアを備えた FireBase db があります。また、簡単なログイン メール/pw も使用します。ユーザー ストアでは、ユーザーの追加情報をいくつか保存します。たとえば、最終ログイン日です。これは私のワークフローです - 登録からログインまで:
ユーザーを登録します。登録すると、簡単なログインメール/パスワードに追加されます; また、登録済みユーザー (simplelogin から返された ID を含む) をユーザー ストアに追加します。Firebase で生成された一意のキーの下に保存されます。
その新しいユーザーとしてログインします 成功すると、simplelogin ストアからユーザー オブジェクトを取得します。
email-"testuser1@test.com"
firebaseAuthToken-"eyJ0eXAiOiJKV1QiLCJhbGci...SoXkddR3A88vAkENCy5ilIk"
id-"46"
isTemporaryPassword-false
md5_hash-"6a4b6cb2045fd55f706eaebd6ab5d4f7"
provider-"password"
uid-"simplelogin:46"
ここで、ユーザー ストア内の対応するユーザーを更新します。たとえば、lastlogin キーを今に設定します。ただし、Firebase が生成したキーが下にあることがわかっている場合にのみ、そのユーザーを更新できます。どうすればそのキーにアクセスできますか?
ユーザー ストア内のユーザーを識別する他の唯一の方法は、ユーザー ストア内のすべてのユーザーを取得し、それらすべてをループして、現在の ID キー値がログイン ユーザーの ID キー値と一致するかどうかを確認することです。私には少し不器用に見えますが、これがfirebaseでルックアップを行う唯一の方法だと思いますか?