Django REST Framework - файлы cookie не устанавливаются с помощью вызова Response.set_cook ie () ...? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть следующая стандартная настройка Ответа в моем приложении DRF:

response = Response(data=response, status=status.HTTP_200_OK)

Затем я пытаюсь добавить разделенные JWT header.payload и signature к заголовкам ответа с помощью response.set_cookie() позвоните, как указано ниже:

        max_age = 365 * 24 * 60 * 60

        expires = datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age)

        response.set_cookie(
            key='JWT_ACCESS_HEADER_PAYLOAD',
            value=header_payload,
            httponly=False,
            expires=expires.strftime("%a, %d-%b-%Y %H:%M:%S UTC"),
            max_age=max_age
        )

        response.set_cookie(
            key='JWT_ACCESS_SIGNATURE',
            value=signature,
            httponly=True,
            expires=expires.strftime("%a, %d-%b-%Y %H:%M:%S UTC"),
            max_age=max_age
        )

        return response

Я не вижу ничего плохого в том, что я сделал до сих пор:

Client Side Response Headers

Тем не менее, по какой-то причине единственные файлы cookie, установленные на стороне клиента, таковы:

Client Side Storage

Что я здесь сделал неправильно ??

Фактический вывод в заголовках выглядит как допустимое значение SetCook ie:

JWT_ACCESS_HEADER_PAYLOAD=aSasas; expires=Sat, 03-Apr-2021 10:24:31 GMT; Max-Age=31536000; Path=/

JWT_ACCESS_SIGNATURE=asaSasaS; expires=Sat, 03-Apr-2021 10:24:31 GMT; HttpOnly; Max-Age=31536000; Path=

NB Работает на localhost .. .if это помогает?

1 Ответ

0 голосов
/ 03 апреля 2020

Итак, это кажется очень тривиальным решением, потому что это просто так.

Я использовал axios ... без отправки { withCredentials: true }, с запросами.

печенье было установлено - потому что, ну, они были. Просто чтобы увидеть их, мне нужно обновить sh браузер.

...