19

코딩 플랫폼 : C#을 사용하는 ASP.NET 4.0 WebFormFacebook 인증을 기존 ASP.NET 멤버쉽과 통합

ASP.NET 멤버십 공급자가 관리하는 기존 로그인 세부 정보가있는 웹 사이트가 있습니다.
이제 클라이언트가 Facebook Connect를 추가하려고합니다.

등록시 Facebook에 등록 버튼을 제공하고 있습니다.
페이스 북에서 회원 인증을 성공적으로 통합하는 방법은 어떻게해야합니까?

ASP.NET 멤버십의 새 사용자로 고유 식별자가있는 사용자 이름을 만들고 다른 공개 ID 사용자가 포함 된 다른 테이블에 연결하는 것이 좋습니다 (향후 Google, Twitter로 확장 예정). , 라이브 및 전체). 그게 최선의 방법인가요?

+1

저는 Facebook 인증을 기존 ASP.Net 회원과 통합하는 간단한 자습서를 만들었습니다. 이 [link] (http://niftyandcrackerjack.com/asp-net-membership-with-facebook-authentication-part-two)를 확인하십시오. –

+0

다음 링크는 정말 도움이됩니다 : http://withasp.net/facebook-authentication-with-asp-net/ –

+2

위의 두 링크가 모두 깨졌습니다 – CodeToad

답변

6

음, 여기 두 가지 옵션이 있다고 생각합니다.

옵션 A : 사용 Facebook Registration Plugin 다음 즉 어떤 FB 사용자 ID 일반 사용자로 등록 된 사용자가 DB에 저장되어 얻을, 당신은 단지 사용자의 한 유형이있다.

옵션 B : 연결하여 FB 내 email permission 요청하고 경우에 사용자 테이블에 대해 비교하고 일치 (FB의 UID와 사용자 테이블 ID)를 만들기 위해 사용자의 이메일을 당신의 DB에 찾았다 .

HTH!

+1

페이스 북은 이메일 ID를 변경할 수 있으므로 이메일 허락에 약간의 문제가 있습니다. – naveen

+4

처음 방문하거나 로그인하거나 사이트에 등록 할 때만 이메일을 비교합니다. 그렇게하면 FB UID를 사용하여 비교할 수 있기 때문에 해당 Facebook UID를 사이트 계정과 연결할 수 있으며 메일 변경 이후에는 영향을 미치지 않습니다. –

+0

그래, 그거야 ... – naveen

0

내 답변이 조금 불쾌해질 것 같은데, 나는 그것을 사용하지 않았고 페이스 북과 통합되는지 알지 못한다. 그러나 Windows Identity Foundation이 관심을 가질 수 있습니다. http://msdn.microsoft.com/en-us/security/aa570351

6

잠깐, codeplex에 페이스 북 개발자 툴킷이 있습니까? 내가 그걸 알았 으면 좋겠어. :-p

Facebook이나 이메일을 사용하여 로그인 할 수있는 대부분의 사이트에서만 하나 또는 다른 것을 할 수 있습니다. 예를 들어, LivingSocial.com 계정이 있습니다. FB를 제공하지만 전자 메일로만 로그온 할 수 있습니다 (내 계정 작성 방법과 동일). BrazenCareerist 계정이 있지만 FB Connect/Open-Graph를 통해 계정이 생성되었으므로 FB로만 로그인 할 수 있습니다 (이메일을 지원하더라도).

한계를 느낀 것처럼 그 접근 방식을 좋아하지 않으므로 사용자가 원하는대로 로그인 할 수 있기를 바랍니다.

  • 사용자 가입 한 이메일과 수익에 이메일로의 복귀에 FB와의 다음
  • 사용자 FB에 가입 한 징후 FB와 사이트

    1. 사용자 가입 한 후 징후 : 당신은 4 개 흐름이 다음 반환

    수익에 FB와 표지판

  • 사용자 이메일로 가입 한 다음 징후 이메일과에 그들은, 페이스 북에 가입합니다 (FB API를 통해) 나중에 사용할 수 있도록 이메일 주소를 잡아 경우 .

    귀하의 사이트에 이미 가입했다면 FB로 로그인 할 때 비밀번호를 입력 할 필요가 없습니다.(자신의 문서 http://developers.facebook.com/docs/authentication/을 확인하십시오)

    이메일 주소로 로그인하면 비밀번호를 입력해야합니다. 그들은 이메일 주소로 UP (서명) 한 경우에 작성했을 것입니다. 하지만 트릭은 FB에 가입 한 경우 비밀번호가없는 것일 수 있다는 것입니다.

    FB 등록시 비밀번호를 묻는 페이지를 만들었습니다. "[우리 사이트]에 대한 귀하의 계정이 생성되었습니다. 귀하의 개인 정보 보호를 위해 페이스 북에서 귀하의 비밀번호가 무엇인지 알려주지 않습니다. [우리 사이트]에 대한 비밀번호를 만드십시오. 페이 스북 (Facebook) 로그인, 당신은 이것을 결코 사용하지 않을 것입니다.) "

    희망이 있습니다.

  • +0

    불가능 데이브. 그런 다음 어디에서 사용자 이름을 가져 와서 고유 한 이름을 사용할 수 있습니까? 오픈 소스를 합치는 곳의 stackoverflow 모델과 같은 것을 원합니다. 그것의 내 직관은 stackoverflow 모든 새로운 등록 및 그것에 오픈 ID를 연결에 대한 사용자를 생성합니다. BTW, http://facebooktoolkit.codeplex.com/은 이제 obslete입니다. http://facebooktoolkit.codeplex.com/ 대부분의 개발자가 현재 사용하고있는 SDK입니다. – naveen

    +0

    좋은 지적 - "username"이 이메일 주소이고 facebook 연결 계정의 이메일 계정이 사이트에서 연결하려는 계정과 같았던 시스템을 생각하고있었습니다. 이 경우에는 제대로 작동 할 것입니다.하지만 이는 제한된 사용 사례이며, 귀하가 저에게 지적한 것처럼 항상 적용 할 수있는 것은 아닙니다. –

    +1

    http://facebooksdk.codeplex.com이 CodePlex 프로젝트라고 생각합니다. Naveen – GrahamMc

    2

    CodePlex의 Facebook C# SDK 프로젝트는 시작하기 좋은 샘플 프로젝트를 제공합니다. 내가 사용하고있는 것은 CS-AspNetWebForms-RegistrationForm 샘플입니다. 쉽게 따라 할 수 있지만 Facebook 사용자 ID를 확보하는 것과 같은 몇 가지 문제가 있습니다.

    퍼즐의 누락 된 부분은 Facebook 등록에서 가져온 필드를 가져 와서 회원 공급자에게 보냅니다. 귀하의 경험 수준에 따라, 해결하기가 어렵지 않아야합니다.