1

ユーザーがFirebaseでサインインする前に電子メールアドレスを確認するにはどうしたらよいですか? メールアドレスが.sendEmailVerificationであることが確認されていますが、これは現在のユーザーでのみ有効です。したがって、ユーザーは確認メールを送信する前に既に作成されている必要があります。これは、あなたが明らかにあなたのデータベースにそれを追加する前に電子メールを確認する必要があるので、あまり役に立ちません。したがって、良い回避策は何ですか?SignUpでのFirebase電子メールの確認

答えて

2

Firebase Authでサインアップする前に電子メールを確認することはできません。メールの確認は必ずしも必要ではありません。これが、Firebase Authがユーザのための方法として提供する理由です。一部のアプリケーションでは、登録時に電子メールによる確認は必要ありません。他のアプリケーションはオプションです。他のアプリケーションは未確認ユーザーへのアクセスが制限されている場合があります。

アプリコンテンツにアクセスする前にユーザーの確認を求めたい場合は、次のいずれかhttps://firebase.google.com/docs/auth/admin/verify-id-tokens".read": "auth.token.email_verified === true"

それとも、あなたがあなた自身のバックエンドを使用している場合Firebase管理SDKを使用し、 : は例えば、Firebaseルールを経由していることを強制

admin.auth().verifyIdToken(idToken).then(decodedToken => { 
    if (decodedToken.email_verified) { 
    // Email verified. Grant access. 
    } else { 
    // Email not verified. Ask user to verify email. 
    } 
}); 
+0

ので、ユーザーであることを決定した場合サインアップをキャンセルする、ただbefo私は既に電子メールを確認するためにFirebaseにそのユーザを作成しましたが、すでに作成された確認済みのアカウントではどうしたらいいですか?私は答えが私が欲しいものであることを知っています;しかし、ユーザーが同じ電子メールアドレスを返すかもしれない場合の最良のアプローチは何ですか? –

+0

独自のクリーンアップスクリプトを作成できます。 Firebase Admin SDKは、 'listUsers'(すべてのユーザを検索)と' deleteUser'( 'uid'でユーザを削除)にAPIを提供します。 'emailVerified'が偽であり、作成時間が古すぎるかどうかをチェックし、それらのユーザーを削除するという、繰り返しのスクリプトをすべてのユーザーをリストすることができます。 – bojeil

関連する問題