2017-12-13 11 views
1

는이 코드를 사용하여 이메일과 비밀번호로 사용자를 생성하는 레지스터 페이지가 :등록 사용자가 반복 수락 이메일 (중포 기지-SWIFT)

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

누군가가 이미 존재하는 이메일로 등록 할 때 문제는 firebase에, 프로그램은 그것을 받아 들인다. 그런 다음 새 계정을 이전 계정으로 자동으로 로깅합니다.

+0

귀하의 질문은 무엇입니까? – pmk

+0

어떻게하면이 문제를 피할 수 있습니까? firebase는 암호가 짧을 때와 마찬가지로 등록시 오류가 발생하여 고유하지 않은 전자 메일을 거부 할 수 있습니까? – AL3MS

+0

물론 제공된 전자 메일이 이미 등록 된 사용자의 데이터베이스에 존재하지 않는지 먼저 확인해야합니다 ... – pmk

답변

2

Firebase Authentication console에는 여러 명의 사용자가 동일한 이메일 주소로 가입하도록 허용하거나 거부하는 구성 옵션이 있습니다. 이를 허용하지 않으면 이미있는 전자 메일 주소로 등록하면 오류 메시지가 반환됩니다.

할 경우 여러 사용자가 동일한 이메일 주소로 등록 할 수 있지만 보안 상 위험 할 필요는 없습니다. 그것은 모두 앱의 필요에 따라 다릅니다.

앱에서 앱을 사용하기 전에 사용자가 연결된 메일 주소에 액세스 할 수 있는지 확인하려는 경우 먼저 send them an email verification message이어야합니다. 그런 다음 리소스에 액세스하도록 허용하기 전에 이메일 주소가 확인되었는지 확인하십시오. 예 : Firebase Realtime Database에서 다음과 같습니다 : 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!') } 

같은 것을 함께 새로운 사용되지 않는 이메일 않는 한 사용자 계정이 늘 생성이 방법을 사용자 테이블을 검사 할 때.