2016-12-26 20 views
1

firebase電子メールの検証の仕組みについて質問があります。Firebaseの電子メール確認の動作

ケース:私のユーザーは(デバイスAを使用して)私のサイトにログイン

  1. 他のブラウザまたはデバイス(デバイスBと呼ばれます)を使用して別のアカウントを作成しますが、すでにログインしているブラウザとデバイス(デバイスA)との電子メール確認リンクを開きます。

すでにログインしているユーザー(デバイスA)はどうなりましたか? Firebaseがサインアウトしたのか、新しいメールを確認するだけですが、現在のユーザーとまだサインインしていますか?

答えて

3

電子メールの検証は帯域外で行われ、再ロードされるまで既存のファイヤベース状態に影響しません。ユーザーが電子メールを確認する場合は、firebase.auth()。currentUser.reload()を呼び出してemailVerifiedプロパティを更新する必要があります。 emailVerifiedフィールドでfirebaseルールを使用している場合は、検証後にトークンの更新(firebase.auth()。currentUser.getToken(true))を強制する必要があります。 Firebaseリアルタイムデータベースを使用して電子メールの検証にフラグを設定し、既存のセッションでそのフラグを検出して、ユーザーの再読み込みを強制することができます。これにより、独自のカスタム電子メール検証ハンドラを作成する必要があります。https://firebase.google.com/docs/auth/custom-email-handler

+0

私はあなたに私の質問をしてくれなかったと思います。私はそれを明確にするために私の質問を更新しました。申し訳ありません。ありがとうございます。 –

+0

私はそれに答えました。電子メールの検証は既存のセッションには影響しません。既存のログインしているユーザーは、別のユーザーであっても、ログインしているデバイスに関係なくサインインしたままになります。 – bojeil

+0

ああ、私はそれを得た、ボジェイル。申し訳ありませんが、お返事ありがとうございます。同じケースではなく、電子メールを確認して、パスワードリセットを処理します。パスワードリセットも既存のセッションに影響しませんか? –

関連する問題