2013-06-24 2 views
0

페이스 북을 통해 사용자를 로그인하려고합니다. 나는 같은 장고 - 사회 - 인증을 사용했습니다. 테스트 프로젝트에 성공적으로 통합되었습니다. 그러나 나는 장고 인증 사용자에게 사용자를 매핑하는 방법에 관해서는 단서가 없다. 예를 들어 페이스 북을 통해 사용자를 인증하는 경우보다 정확하게 말하십시오. 세션이 끝나면 사용자가 로그 아웃합니다. 사용자가 다시 페이스 북을 통해 두 번째로 반환하면 어떻게 동일한 사용자인지 어떻게 알 수 있습니까? 사용자 이름을 변경할 수 있기 때문에 페이스 북 사용자 이름을 사용할 수 없습니다! 명백한 이유로 사용자의 이메일 ID를 사용할 수 없습니다. 페이스 북에서 보낸 데이터의 식별자는 특정 사용자에 대해 고유해야한다고 생각해야합니까?소셜 인증으로 인증 된 사용자의지도를 유지 관리하는 방법

['username', 'bio', 'first_name', 'last_name', 'verified', 'name', 'locale', 'hometown', 'work', 'expires', 'sports', 'languages', 'quotes', 'link', 'location', 'gender', 'access_token', 'timezone', 'education', 'updated_time', 'id']

비록 다음과 같이 페이스 북에서 보낸 응답에서 키가, 나에게 가장 확실한 대답은 사용자를 식별하는 'ID'를 사용하는 것입니다, 기회는 무엇인가 그 페이스 북의 움직임 모든 데이터에 새 서버 및 사용자와 관련된 'id'필드가 변경됩니까? 이런 경우 이전 ID와 동일한 ID를 얻으면 변경된 ID를 가진 사용자가 다른 사용자의 데이터에 액세스 할 수 있습니다! 페이스 북은 사용자 이름을 한 번만 변경할 수 있기 때문에 아마 'id'와 'username'의 조합을 사용할 수 있습니다. 하지만이 제한을 제거하면 내 논리가 깨질 것입니다. 나는 OAuth2에 완전히 익숙하지 않으므로, 이것이 바보 같으면 내 무지를 용서해주십시오. 나는 약간 연구하려고 노력했다. 그러나 거대한 자습서에서 길을 잃었다! 사람들이 일반적으로 어떻게 이것을 처리합니까?

편집 : 중복으로 링크 된 질문에 대한 답변은 내 질문에 대한 페이스 북 측에서 변경하는 ID 처리 방법에 대한 대답이 아닙니다. 드문 경우이지만, 가능성은 배제 할 수 없습니다. 특히 페이스 북 쪽에서 변경이 발생할 것이기 때문에 가능하지 않을 것입니다. 더욱이, 나는 변화가있을 때 어떤 암시도하지 않을 것이다. 그런 일이 발생하면 내 앱 사용자의 보안이 위험에 처하게됩니다. OAuth2는 일종의 표준이므로 고유 식별자에 대한 지침이 있습니까? 제공자가 사용자 ID를 변경하지 못하도록하는 지침이 있습니까?

답변

0

Django socialauth plugin이 모든 작업을 수행합니다. 3 년 전에 한 프로젝트에서 사용했음을 올바르게 기억한다면 socialauth는 페이스 북과 같은 다른 환경에서 계정을 가진 사용자를 묶는 자체 모델을 가지고 있습니다.

내가 그랬을 때, 페이스 북이나 Gmail의 사용자에게 내 앱의 사용자를 묶는 고유 한 키로 이메일 주소를 사용했습니다. 이 파일에서

봐 : 이러한 참조를 저장하는 https://github.com/omab/django-social-auth/blob/master/social_auth/db/django_models.py

모델이있다. 장고 - 사회 - 인증의 소스 코드를 통해가는 앨런

+0

는, 계정을 연결하는 페이스 북에서 제공하는 UID를 사용하는 것 같다. 이메일 주소 연결은 사용자의 개인 정보가 중요한 사이트에 위험한 영향을 줄 수 있으므로 기본적으로 사용 중지됩니다. 제 질문은 기본적으로 협회를 만들고, 더욱 안전하고 신뢰할 수 있도록하는 것입니다. ID는 페이스 북이 제공하는 필드입니다. 즉, 내 앱에서 계정을 연결하는 데 사용하는 경우 Facebook의 ID가 변경 될 때마다 보안 및 안정성이 깨질 수 있습니다. –

+0

나는 페이스 북과 같은 제 3 자에 의존하지 않고 사용자에게 고유 한 필드를 원한다. 나는 불가능을 묻고 있을지도 모르지만 그러한 분야가 없으면 어카운트 협회의 신뢰성이 어려워진다! –

관련 문제