1

TweetSharp와 Facebook C# SDK를 사용하여 MVC 3 테스트 응용 프로그램에 Twitter 및 Facebook 로그인을 추가하고 있습니다.트위터와 페이스 북을 사용하는 다중 로그인 문제 Oauth

현재 사용자가 Twitter를 사용하여 로그인 할 때 사용자 테이블에 해당 사용자의 사용자 계정을 만들고 사용자 테이블에 외래 키가있는 별도의 테이블에 ID, 토큰 및 토큰 비밀을 저장합니다. ID, 토큰 및 토큰 비밀이 만료되지 않기 때문에 사용자가 다음에 Twitter를 사용하여 로그인 할 때 올바른 사용자 계정을 신속하게 찾을 수 있습니다.

아주 동일한 사용자가 다음에 Facebook을 사용하여 로그인하면 어떻게 될까요? Twitter는 API에 이메일을 제공하지 않으므로 Twitter 계정이나 Facebook에 사용자 계정을 연결하는 공통 정보가 없기 때문에 Facebook 로그인을위한 새로운 사용자 계정을 만들어야한다고 가정합니다. 이 경험이있는 사람이 있습니까? 이 문제를 해결할 방법이 있습니까?

답변

0

사실 해결 방법은 아니지만 해결 방법은 많습니다. 나는 똑같은 문제에 직면하여 사용자가 더 이상 진행할 수 없도록하기 전에 이메일 주소를 묻는 것으로 계정 프로필을 완성하도록 강요했다. 즉, 페이스 북의 인증으로 돌아 오는 이메일 주소가 트위터 로그인으로 생성 된 이메일 주소와 일치하면 다른 계정을 만들 필요가 없습니다.

페이스 북의 인증 우선으로 계정을 만들면 더 큰 어려움이 생길 수 있습니다. 그것은 정돈되지 않은 계정의 결혼을 의미했습니다.

사용자가 트위터에 로그인 할 수있게함으로써 얻은 정보는 노력의 가치가 없으며 결국에는 Facebook 인증 만 허용됩니다. 트위터가 당신의 솔루션에 얼마나 중요한지 잘 모르겠습니다.

내가 아는 완벽한 대답은 아니지만 내 경험을 공유 할 것이라고 생각했습니다.

+0

감사합니다. 지금은 페이스 북 만 사용할 것입니다. – Thomas

+0

계정을 앱에 연결할 때 Facebook/twitter 프로필에서 이메일을받을 수 있습니까? 다음에 이메일로 로그인하려면 Facebook/Twitter로 가입 할 때 이메일 주소에 액세스 할 수있는 권한을 요청하고 초기 비밀번호를 보내면됩니다. –

2

각 사용자를 고유 키로 내부적으로 식별합니다. 사용자가 사이트를 조회 할 때 사용자 키의 쿠키를 확인합니다. 쿠키가 없다면 새 키를 만듭니다. 그것을 사용자 데이터베이스에 추가하고 새로운 쿠키를 설정하십시오. 사용자가 Facebook, Twitter 또는 .Net 회원으로 로그인하여 처음으로 등록을 완료하면 해당 키는 해당 사용자와 영원히 결혼하게됩니다.

그래서 기존 트위터 사용자가 Facebook에서 처음으로 로그인 할 때 사용자 키가 존재하기 때문에 누구인지 알 수 있습니다. 기본적으로 macou가 제안한 것과 같은 해결책입니다. Macou 's는 새 컴퓨터에서 작업하는 것의 장점을 가지고 있거나 쿠키가 삭제 된 경우 추가 사용자 입력이 필요하지 않는 장점이 있습니다.

0

페이스 북으로 로그인 한 다음 내 아내가 같은 브라우저를 사용하여 트위터로 로그인 할 수 있기 때문에 쿠키 만 사용할 수 없습니다.이 경우 두 계정을 연결하면 안됩니다.

나는 당신보다 더 많은 일을 할 필요가 있다고 생각 :

  1. 들이 일치하는 경우 다음
  2. 를 사용하여 이름/이름/로그인 이름/... 확인하기 위해 쿠키를 사용합니다.

예 :

  1. 쿠키 ID : 18,459,439,731,114,330,636 이름/이름/마지막으로 이름입니다, 3.
  2. 로 이동 찾을 수 없습니다 2로 이동 찾을 ID = 18459439731114330636.와 사용자를 찾을 수/... 현재 사용자와 일치합니까? 그렇다면 링크 계정. 그렇지 않다면 3으로 가십시오.
  3. 새 사용자를 만드십시오.
관련 문제