authentication_classes = [SessionAuthentication, BasicAuthentication]
permission_classes = [IsAuthenticated]
def get(self, request: WSGIRequest, *args: tuple, **kwargs: dict):
type = request.GET.get('type', "")
mode = request.GET.get('mode', "")
if type == "catalog":
if mode == 'checkauth':
print(request.session.items(), request.user.is_authenticated)
return Response(
"success\n{session_name}\n{session_val}".format(
session_name=settings.SESSION_COOKIE_NAME,
session_val=request.session.session_key
),
status=http_status.HTTP_200_OK
)
return Response(
"Unknown command.",
status=http_status.HTTP_400_BAD_REQUEST
)
Проблема следующая. Вместе с запросом 1C передает Http Basic Auth данные, через REST FRAMEWORK это обрабатывается, пользователь авторизуется. Но! request.session пустой. Это даже логично, потому как сессия свежая и она должна быть в объекте response. Вопрос, как мне получить значение свежей сессии? В ответе я получаю Set-Cookie
Вот бы еще мне подсказали :(
а ты что хочешь получить из свежей сесии то ?
1C требует в ответе "success\n{session_name}\n{session_val}"
попробуй перед поставить условие if not request.session.exists(request.session.session_key): request.session.create()
Всё так же пустой request.session.items
Обсуждают сегодня