2016-09-02 2 views
0

나는이 정기적 인 이메일/암호 가입 옆에 여러 사회적 등록을 필요로하는 새로운 응용 프로그램을 만들고 있어요는, 그러나 데이터 무결성에 문제가 발생할 수 있습니다 특별한 경우가 계정사회 로그인 중복 ... 충돌


예 :

  1. 사용자가 Facebook에 가입했지만 이메일이 반환되지 않았습니다.
  2. 전자 메일 및 암호가 null로 설정된 사용자와 그의 ID, 토큰 및 공급자 이름이있는 사회 프로파일 항목을 db에 만듭니다.
  3. 다음 사용자는 전자 메일과 암호로 가입하므로 사용자 테이블에 새 레코드를 만듭니다.

이제 그는 같은 사람에 대해 2 개의 항목이 있습니다.

이 사건을 어떻게 처리해야합니까?

답변

0

이메일을 사용하면 사용자를 식별 할 수있는 유일한 방법입니다. 따라서 가장 쉬운 방법은 Facebook의 응답에서 사용자가 반환하지 않은 이메일을 강제로 제공하는 것입니다. 이 검사를 쉽게 수행하고 사용자를 다른보기/페이지로 리디렉션하여 전자 메일을 입력하거나 사용자에게 추가 선택적 필드를 추가하도록 요청할 수도 있습니다. 전자 우편이 null의 경우이 속성 이메일 null의 경우에 대한 다른 사용자의 사용 뭔가 (전화 번호와 같은) 페이스 북의 로그인

때문에 오류 메시지에 폴백 또는 FacebookId 설정할 수

1

normaly 도움이되기를 바랍니다 public_profile id를 사용하여 사용자에게 앱에 이메일 주소를 입력하도록 요청합니다.

기본 키로 전자 메일을 사용하지 마십시오.) 잊지 말고 모든 사용자에 대해 내부 로그인/암호가 있어야합니다. Facebook 트위터는 로그인하는 다른 방법 일뿐 주요 메커니즘은 아닙니다.