저는 Python/Django 1.7.1과 Django REST Framework로 프로젝트를 만들고 있습니다. Django REST Framework : 세션 기반 인증을 올바르게 사용하는 방법?
www가 호스트 사용자가 로그인 할 수있는 웹 사이트를 포함
- api.myproject.com :
나는 프로젝트에 대한 두 개의 하위 도메인을 가지고있다. REST 백엔드는 API 호스트에 있습니다. 본질적으로
REST_FRAMEWORK = { 'PAGINATE_BY': 10, 'PAGINATE_BY_PARAM': None, 'MAX_PAGINATE_BY': 10, 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.TokenAuthentication', ), }
:
는이 같은 장고 REST 프레임 워크를 구성 나는 안드로이드 응용 프로그램에 대한 WWW-호스트 및 토큰 기반 인증에 AJAX에 대한 세션 기반 인증을 사용하고 있습니다.이제 여기에 문제가 있습니다. WWW 호스트에 로그인 한 사용자는 세션 인증이 사용 가능하므로 API 호스트에서 REST API를 사용할 수 있습니다. WWW 호스트에는 API 호스트에 대한 API 호출을 실행하는 JavaScript가 있습니다. 이것은 잘 작동하지만 사용자가 WWW 호스트에 로그인 한 다음 새 탭을 열고 API 호스트로 이동하면 사용자는 REST API를 볼 수 있으며이를 수행 할 의도는 없습니다.
사용자가 WWW 호스트에 로그인 할 때 API 호스트에 REST API가 표시되지 않습니까?
DOMAIN = 'myproject.com' SESSION_COOKIE_DOMAIN = '.' + DOMAIN CSRF_COOKIE_DOMAIN = SESSION_COOKIE_DOMAIN
내가이 수정 :
는이 같은 세션 쿠키 도메인 및 CSRF 쿠키 도메인 구성DOMAIN = 'myproject.com' SESSION_COOKIE_DOMAIN = 'www.' + DOMAIN CSRF_COOKIE_DOMAIN = SESSION_COOKIE_DOMAIN
을하지만이 시도 할 때 REST API는 세션 인증을 통해 사용할 수 없습니다 WWW 호스트에 쿠키가 설정되어 있기 때문에 사용자가 WWW 호스트에 로그인 한 경우 ...
내 문제에 대한 유용한 정보? :-)
미리 감사드립니다.
종류와 관련, K.