2017-03-09 28 views
1

電子メールとパスワードでユーザを作成した後、私は#sendEmailVerification()と呼んでいます。私が知っていることは、まずFirebaseが電子メールとパスワードでユーザを作成し、そのユーザに確認メールを送信することです。Firebase Auth(アンドロイド)電子メールの確認にアドバイスが必要

ユーザーがそのメールIDにアクセスして、user.isEmailVerified = trueというメールを確認しても問題ありません。

しかし、ユーザーがメールの確認に失敗したり、提供されたメールにアクセスできない場合、そのメールIDでアカウントが作成されるため、メールIDがロックされます。

私の質問は、ユーザーが電子メールの確認に失敗した場合の対応です。

+0

はたぶん彼らは – Janwilx72

+0

はいはい、私はすでにトーストメッセージを表示するアクセスメールID –

+0

でユーザーを作成istructionを与えるシンプルなトーストメッセージとアプリケーションを使用する前に確認する必要があるユーザーを思い出させる参照してください。 。しかし、ユーザーがその場合、自分の電子メールIDがfirebaseにロックされていることを確認したくない場合。私が必要とするのは、ユーザーが自分のアカウントを削除していないことを確認していない場合です。 –

答えて

1

ユーザーがFirebaseデータベースに登録したという事実を記録する場合は、Admin SDKを使用して未確認の電子メールアドレスを持つユーザーを定期的に削除することができます。

https://firebase.google.com/docs/auth/admin/manage-users#delete_a_user

admin.auth().getUser(uid) 
    .then(function(userRecord) { 
    if (!userRecord.emailVerified) { 
     admin.auth().deleteUser(uid) 
     .then(function() { 
      console.log("Successfully deleted user"); 
     }) 
     .catch(function(error) { 
      console.log("Error deleting user:", error); 
     }); 
    } 
    }) 
    .catch(function(error) { 
    console.log("Error fetching user data:", error); 
    }); 
+0

あなたのお返事ありがとうございます。このコードをサーバー側に書く必要がありますか? –

+0

はい。 Admin SDKは、信頼できるハードウェア上でのみ使用する必要があります。これはFirebaseサービスへの完全な管理アクセスを実行するためです。 –

+0

もう1つ質問がありますが、firebaseは電子メールの検証に時間制限を与えるような自動化機能を提供しています。ユーザーが時間内に検証に失敗した場合。 therirアカウントは削除されます。 –

関連する問題