Django App не возвращает токен csrf при последовательном получении response.cookie

У меня есть следующее представление GET:

class PublicKeyView(View):
    def get(self, request):
        # Ensure a session ID is available
        if not request.session.session_key:
            request.session.save()

        session_id = request.session.session_key

        private_key, public_key = RSAKeyManager.get_keys(session_id)
        if not private_key or not public_key:
            # Keys are generated as bytes, so decode them before storing
            private_key, public_key = RSAKeyManager.generate_keys()
            RSAKeyManager.store_keys(session_id, private_key.decode('utf-8'), public_key.decode('utf-8'))


        if isinstance(public_key, bytes):
            public_key = public_key.decode('utf-8')
        print(public_key)
        # public_key = public_key.replace('\n', '')
        # Return the public key and session ID
        return JsonResponse({"session_id": session_id, "public_key": public_key}, status=200)

И этот settings.py

Если я запускаю сервер localhost и запрашиваю GET для этого представления, он включает в response.cookies CSRFToken

Но если я делаю такой же точный запрос к приложению, но через хост, он не включает токен, и я не могу понять, почему

Разве логика CSRF не заключается в том, чтобы отправить токен через GET, использовать полученный токен для выполнения POST-запросов?

Вернуться на верх