2014-07-17 3 views
1

이것은 Stack 교환에서의 첫 게시물입니다. Python과 Django Noob이 어플리케이션 개발을 시도하고 있습니다. 응용 프로그램은 사용자 등록을 위해 django 등록을 사용하고 나서 '소셜'인증을 연결하기 시작했습니다. 나는 다른 것들 사이에서 인증을 수행 할 능력이 있기 때문에 allauth를 선택했습니다. django allauth facebook redirects to signup when retrieved email matches an existing user's email?django allauth 소셜 인증 검색 이메일이 기존 사용자의 이메일과 일치합니까?

사용자 로그인/가입은 동일한 이메일 주소를 가진 사용자가 이미 (때문에 지역 등록 경로 등록에) 데이터베이스에 존재하는 경우 실패 :

나는이 스레드에 제시된 것과 같은 문제를 명중했다. 위의 게시물에 제공된 솔루션을 시도하고 문제가 있습니다. 도움을 찾고 여기에 조언하십시오.

나는

에 MyProject/allauth/socialaccount/socialadapter.py

나는 내 설정에서 다음 한 다음 경로에서 내 socialadapter.py에서 위와 동일 코드가

LOGIN_URL = '/' 
#LOGIN_REDIRECT_URL = '/' 
LOGIN_REDIRECT_URL = "https://stackoverflow.com/users/{id}/mytags" 
SOCIALACCOUNT_QUERY_EMAIL = True 


ACCOUNT_AUTHENTICATION_METHOD='username_email' 
SOCIALACCOUNT_EMAIL_REQUIRED = False 

#create and use specific adapter to handle the issue reported here 
# https://github.com/pennersr/django-allauth/issues/418 

ACCOUNT_ADAPTER = "myproject.allauth.socialaccount.MyLoginAccountAdapter" 
SOCIALACCOUNT_ADAPTER = 'myproject.allauth.socialaccount.MySocialAccountAdapter' 

runserver를 시작하고 facebook/login에 액세스 할 때 다음 문제가 발생합니다.

[17/Jul/2014 11:49:43] "GET /myproject/accounts2/facebook/login/ HTTP/1.1" 500 59 
---------------------------------------- Exception happened during processing of request from ('127.0.0.1', 58805) Traceback (most recent call last): File "C:\Python27\Lib\SocketServer.py", line 593, in process_request_thread 
    self.finish_request(request, client_address) File "C:\Python27\Lib\SocketServer.py", line 334, in finish_request 
    self.RequestHandlerClass(request, client_address, self) File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 139, in __init__ 
    super(WSGIRequestHandler, self).__init__(*args, **kwargs) File "C:\Python27\Lib\SocketServer.py", line 651, in __init__ 
    self.finish() File "C:\Python27\Lib\SocketServer.py", line 710, in finish 
    self.wfile.close() File "C:\Python27\Lib\socket.py", line 279, in close 
    self.flush() File "C:\Python27\Lib\socket.py", line 303, in flush 
    self._sock.sendall(view[write_offset:write_offset+buffer_size]) error: [Errno 10053] An established connection was aborted by the software in your host machine 
---------------------------------------- ERROR:django.request:Internal Server Error: /myproject/accounts2/facebook/login/callback/ Traceback (most recent call last): File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 109, in get_response 
    response = callback(request, *callback_args, **callback_kwargs) File "myproject\allauth\socialaccount\providers\oauth2\views.py", line 51, in view 
    return self.dispatch(request, *args, **kwargs) File "myproject\allauth\socialaccount\providers\oauth2\views.py", line 98, in dispatch 
    response=access_token) File "myproject\allauth\socialaccount\providers\facebook\views.py", line 43, in complete_login 
    return fb_complete_login(request, app, access_token) File "myproject\allauth\socialaccount\providers\facebook\views.py", line 31, in fb_complete_login 
    .sociallogin_from_response(request, extra_data) File "myproject\allauth\socialaccount\providers\base.py", line 44, in sociallogin_from_response 
    adapter = get_adapter() File "myproject\allauth\socialaccount\adapter.py", line 150, in get_adapter 
    return import_attribute(app_settings.ADAPTER)() File "myproject\allauth\utils.py", line 97, in import_attribute 
    ret = getattr(importlib.import_module(pkg), attr) AttributeError: 'module' object has no attribute 'MySocialAccountAdapter' [17/Jul/2014 11:49:46] "GET /myproject/accounts2/facebook/login/callback/?code=AQBShGWTHnGVvlo-fOVW7xjF9RUJo-k7P23zISHC70p aAR5uWYpnI46gpHFUCC5Rz-SviDyTITVRAUkZ-DhkZaHyBT2n5UBhhSwkACgCKTTgPrFLAZFBQs05AEZ67xfk-wRlF47DSjT26bbDdUmc1ptfFxP3W4qS5Y6b5Yrj iLTI3RMScOEM0EKUQjNySyj4XSAVk6wj4HcAbCVxiVv5QaH63ayxyt5Y5jQ0AOH3zsCngPaqFNJArXseMS6wfqSc8yDwcwWZKo1nGhcNtA9Gy_bqZNiTZSjPJguhT lBwbmDAJ9SUNI8AS3yzC-AKDtD2_bo&state=441rn77wUuLH HTTP/1.1" 500 147978 
01 23,516,

은 처음도 컴파일되지 것 socialadapter.py는, 다른 모든 내가이 글에 언급조차 된 .pyc 을 삭제 한 후 컴파일 않았다 pycompile for python3.2

힘 컴파일하지만, 난 여전히 문제를

어떤 제안에 대한 참조 내가 여기서 잘못하고있는 것은 크게 감사하겠습니다.

감사합니다.

-km

편집 :

환경

  • 파이썬은 2.7.5

  • 는 allauth : 0.17

답변

0

확인 나는이 문제를 알아 냈어어댑터에 대한 설정 항목에 클래스의 전체 경로가 누락되었습니다. 이제 Facebook을 사용하여 로그인 할 수 있습니다.내가 또 다른 문제가 그러나

, 나는 로그인 페이지를 사용하는 경우

SOCIALACCOUNT_PROVIDERS = \ 
{'linkedin':{'SCOPE': [ 'r_emailaddress', 
       'r_fullprofile', 
       'r_emailaddress', 
       'r_contactinfo', 
       'r_network'], 
     'PROFILE_FIELDS': 
      [ 
       'id', 
       'first-name', 
       'last-name', 
       'email-address', 
       'picture-url', 
       'public-profile-url', 
       'skills', 
       'headline', 
       'industry', 
       'num-connections', 
       'positions', 
       'interests', 
       'languages', 
       'certifications', 
       'educations', 
       'courses', 
       'three-current-positions', 
       'three-past-positions', 
       'recommendations-received', 
       'honors-awards' 
      ] 
    }, 
'facebook': {'SCOPE': ['email', 'user_about_me', 'user_birthday', 
          'user_education_history','user_work_history', 
          'user_hometown', 
          'user_location', 
          'user_religion_politics','user_subscriptions', 
          'read_stream', 
          'read_insights', 
          'read_friendlists', 
          'user_likes', 
          'user_interests', 
          'user_groups' 
          ], 
        'AUTH_PARAMS': {}, 
        'METHOD': 'oauth2' 
       }, 
} 

지금, 나는 다음과 같은 오류가 설정에서 다음과 같은 항목을 같은 앱 로그인에 링크 활성화하도록 노력하고 있어요

[17/Jul/2014 22:26:28] "GET /myproject/accounts2/linkedin/login/?process=connect HTTP/1.1" 302 0 
ERROR:django.request:Internal Server Error: /myproject/accounts2/linkedin/login/callback/ 
Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 109, in get_response 
    response = callback(request, *callback_args, **callback_kwargs) 
    File "myproject\allauth\socialaccount\providers\oauth\views.py", line 35, in view 
    return self.dispatch(request, *args, **kwargs) 
    File "myproject\allauth\socialaccount\providers\oauth\views.py", line 90, in dispatch 
    return complete_social_login(request, login) 
    File "myproject\allauth\socialaccount\helpers.py", line 113, in complete_social_login 
    sociallogin=sociallogin) 
    File "C:\Python27\lib\site-packages\django\dispatch\dispatcher.py", line 172, in send 
    response = receiver(signal=self, sender=sender, **named) 
    File "myproject\allauth\socialaccount\socialadapter.py", line 50, in link_to_local_user 
    email_address = sociallogin.account.extra_data['email'] 
KeyError: 'email' 
[17/Jul/2014 22:26:50] "GET /myproject/accounts2/linkedin/login/callback/?oauth_token=77--d223fb8b-168f-4260-b93c-1a6e5ff2 
e1e1&oauth_verifier=52724 HTTP/1.1" 500 139897 

내가 링크드 인에 대한 범위가 있기 때문에이 문제를 해결하는 방법을 잘 모르겠습니다 : 나는 링크드 인 문서에서 이메일 필드로이 문제를 해결하는 방법, '이메일 주소'를 또한 이메일 주소

말한다

LinkedIn fields

모든 의견을 환영합니다.

죄송합니다. 질문에 현상금을 부과하는 방법을 모르겠습니다. 질문을 제출하기에 충분하지 않습니다.

TIA는

-km

+2

이 질문에 대한 답변을 제공하지 않습니다. 새로운 질문을하려면 페이지 상단의 "질문하기"버튼을 사용하십시오. 컨텍스트를 제공하는 데 도움이된다면이 질문에 연결할 수 있습니다. –

관련 문제