2013-12-10 1 views
1

간단한 개념 증명을 위해 python-social-auth을 통해 사내 OAuth2 서버에 대해 을 인증하도록 Django 앱을 구성했습니다. 참고 : 나는 장고에 새로운 오전 , 그래서 아직도 주위에 내 길을 내려고 ...소셜 인증 및 장고와의 Associate-only 인증

정식 방식은 대역 계정 동기화에 의존 - 즉, 만 허용 기존 사용자를, 및 자동차하지 않습니다 새로운 것들을 만들어라. 그러나 문서화 된 파이프 라인 구성은 "연관 전용"으로 작동하지 않는 것 같습니다 (get_usernamesocial_uid도 여러 가지 조합으로 생각한 방식대로) 생각했습니다. 나는 자신의 파이프 라인 메소드를 생성 한 후 'user'키로 dict을 리턴 한 후에 만 ​​작동시킬 수 있습니다.

나는 http://psa.matiasaguirre.net/docs/pipeline.html#authentication-pipeline에서이 설정 시작 :

SOCIAL_AUTH_PIPELINE = (
    'social.pipeline.social_auth.social_user', 
    'social.pipeline.social_auth.associate_user', 
    'social.pipeline.social_auth.load_extra_data', 
    'social.pipeline.user.user_details' 
) 

그러나이 첫 번째 - social_userassociate_user이 - 더 '사용자'키가 존재하지 않는 경우는 작동하지 않습니다.를 load_user이 사용자 지정 키를 기반으로 현재 사용자를 찾기 위해 알고

SOCIAL_AUTH_PIPELINE = (
    'ccpoc.auth.load_user', 
    'social.pipeline.social_auth.associate_user', 
) 

는 JSON에서 반환 '사용자'키가 채워 얻는 방법에 대한 다른 지침이 없다면, 나는 함께했다. 그것이 작동하는 동안, 이것이 프레임 워크의 '정신'에 있는지, 아니면 내가 뭔가를 놓치고 있는지 확실하지 않습니다.

답변

0

그게 응용 프로그램과 함께하는 정신으로가는 올바른 접근 방식입니다, 내 문서가 완전히 정확하지는 않습니다. 거기에 나열된 단일 연관에 대한 파이프 라인은 사용자가 로그인 한 것으로 가정합니다. 시나리오에 설명되어 있지만 문서에는 자세히 나와 있지 않습니다.

+0

감사합니다. @omab ... doc 업데이트를 위해 pull 요청을 만들었습니다. – bimsapi

+0

위대한, 병합, 감사합니다! – omab