プレースホルダfirebase.database.ServerValue.TIMESTAMP
の代わりにfirebaseデータベースサーバの実際のタイムスタンプを取得する必要があります。Firebaseのクラウド機能:データベースの実際のタイムスタンプを取得
XYの問題を避けるために、私は私の2つの使用例を提供します:
a)のIは、クラウド機能とJWTを使用して自分のパスワードリセットシステムを作成しました。ユーザーがパスワードのリセットを要求します。ユーザー名と現在のタイムスタンプ(現在はDate.now()を使用している)を含むオブジェクトに署名し、電子メールへのリンクに埋め込みます。彼らがリンクを開くと、私はJWTを検証し、firebaseデータベースのuid
の下に保存されているタイムスタンプと比較する必要があります。私はまたデータベースのタイムスタンプを更新し、次回同じトークンを使用しようとすると、(トークンに設定された1時間の有効期限が過ぎていなくても)期限切れと表示されます。ここで十分なDate.now()を使用していますか?どのようにして現在の火災基地時間をjwt.sign()
に渡すことができますか?
b)並べ替えの目的で、すべての投稿のうち、負のバージョンのcreationTimestamp
をデータベースに保存する必要があります。 -firebase.database.ServerValue.TIMESTAMP
は機能しません。それを行う正しい方法は何ですか?