저는 facebook을 사용하여 인증을 수행하기 위해 python-social-auth를 사용하여 장고 프로젝트를 진행하고 있습니다. 로컬 호스트에서 django 서버를 실행하고 facebook을 내 응용 프로그램과 함께 http://127.0.0.1:8000/complete/facebook/으로 리디렉션하도록 설정하면 python-social-auth의 파이프 라인을 시작하여 사용자를 인증합니다. 내 데이터베이스로 포스트그레스를 사용하고 있습니다.django와 리디렉션 한 후 세션 값이 누락되었습니다. python-social-auth
이 메서드를 호출하고 인증을 시도하면 세션에 대한 정보를 찾을 수 없습니다. https://github.com/omab/python-social-auth/issues/534에서 나는 sessionid 쿠키가 덮어 쓰여지고 있다고 생각합니다. 인증없이 정적 페이지를로드하는 다른 URL로 페이스 북 리디렉션을 보내면 오류는 없지만 페이스 북에서 정보를 얻거나 인증하지 못하고 있습니다.
세션 ID 쿠키를 덮어 쓰지 않으려면 어떻게해야합니까? 물론 실제 문제입니까? 아니면 여기에 누락 된 다른 문제가 있습니까?
[03/Jun/2016 05:19:58] "GET /login/facebook/?next=/lithium-web/ HTTP/1.1" 302 0
Internal Server Error: /complete/facebook/
Traceback (most recent call last):
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/django/core/handlers/base.py", line 149, in get_response
response = self.process_exception_by_middleware(e, request)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/social/apps/django_app/utils.py", line 51, in wrapper
return func(request, backend, *args, **kwargs)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/social/apps/django_app/views.py", line 28, in complete
redirect_name=REDIRECT_FIELD_NAME, *args, **kwargs)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/social/actions.py", line 43, in do_complete
user = backend.complete(user=user, *args, **kwargs)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/social/backends/base.py", line 41, in complete
return self.auth_complete(*args, **kwargs)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/social/utils.py", line 229, in wrapper
return func(*args, **kwargs)
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/social/backends/facebook.py", line 71, in auth_complete
state = self.validate_state()
File "/Users/mac/Desktop/lithium-web/lib/python2.7/site-packages/social/backends/oauth.py", line 88, in validate_state
raise AuthStateMissing(self, 'state')
AuthStateMissing: Session value state missing.
어떻게 당신이 비록 생산해야합니까? – dietbacon
그들은, 그들은 단지 직장을 떠난하지 않습니다! :) – phaazon
https 연결을 통해서만 세션 쿠키를 허용하려면 값을 True로 설정하십시오. –