2017-12-13 7 views
1

を受け付けますレジスタユーザー私はこのコードを使用したメールアドレスとパスワードでユーザーを作成するレジスタページを持って繰り返し電子メール(firebase-SWIFT)

Auth.auth().createUser(withEmail: emailTextfield.text!, password: passwordTextfield.text!) { 
    (user, error) in 
    if error != nil { 
     print(error!) 
    } 
    else 
    { 
     print("Successful") 
    } 
} 

誰かが既に存在している電子メールで登録するときに問題があります火器の上で、プログラムはそれを受け入れる。次に、新しいアカウントを古いアカウントとして自動的にログに記録します。

+0

あなたの質問は何ですか? – pmk

+0

どうすればこの問題を回避できますか?Firebaseは、一意ではない電子メールと、パスワードが短いときと同じ登録時のエラーを拒否できますか? – AL3MS

+0

もちろん、提供された電子メールがすでに登録されているユーザーのデータベースに存在しないかどうかをチェックする必要があります... – pmk

答えて

2

Firebase Authentication consoleに複数のユーザーが同じ電子メールアドレスでサインアップできるようにする設定オプションがあります。これを拒否した場合は、既に存在する電子メールアドレスで登録するとエラーメッセージが返されます。

do複数のユーザーが同じ電子メールアドレスでサインアップできる場合でも、セキュリティ上のリスクはありません。それはすべてあなたのアプリのニーズにかかっています。

アプリであなたがアプリを使用する前に、関連するメールアドレスにアクセスできることをアプリで確認したい場合は、まずsend them an email verification messageにしてください。次に、電子メールアドレスがリソースへのアクセスを許可する前に確認されているかどうかを確認します。例えば。 Security rule to only allow write for users with verified emails

1

上記のように、同じメールで複数のユーザーを持つこともできます。いない場合、それは新しい未使用のメールでない限りしかし、その後、人々は、ユーザーアカウントをこのようにしてサインアップし

if (<your table name>.child(<Users>).hasChild(<email>)) { 
    alert('Sorry this email has already been used.') } 
    else { 
      <your code to create the user here> 
      print ('successful!') } 

のようなものを使用してユーザテーブルをチェックしたときに作成することが文句を言いません。

関連する問題