当前位置: 首页 > 知识库问答 >
问题:

在cookies中设置Django REST Frmework JWT

汝宏伯
2023-03-14

我使用djangorestframework jwt对用户进行身份验证。我重写了内置的<code>JSONWebTokenAPIView</code>,以便在响应中返回用户详细信息。我也在我的视图中设置cookie中的令牌。

def post(self, request, *args, **kwargs):
    serializer = self.get_serializer(data=request.data)

    if serializer.is_valid():
        user = serializer.object.get('user') or request.user
        token = serializer.object.get('token')
        response_data = {
            'access_token': token,
            'user': UserInfoSerializer(user).data
        }
        response = Response(response_data, status=status.HTTP_200_OK)
        if api_settings.JWT_AUTH_COOKIE:
            expiration = (datetime.utcnow() + api_settings.JWT_EXPIRATION_DELTA)
            response.set_cookie(api_settings.JWT_AUTH_COOKIE,
                                response.data['access_token'],
                                expires=expiration,
                                httponly=True)
        return response

    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

它在Django服务器上运行良好。当我使用REST可浏览api视图验证api时,我可以在cookies中看到令牌。但是我的前端(React)应用程序运行在localhost:3000上,当我从前端服务器点击这个api时,我收到了成功响应,但是令牌没有在cookies中设置。

我也需要设置cookie域吗?

共有1个答案

童琪
2023-03-14

我需要设置凭据:在前端和后端为 true。

感谢这篇文章,找到了答案,Django cookies没有保存在浏览器上

 类似资料:
  • 问题内容: 我有一个网站,该网站根据访问者选择的位置显示不同的内容。例如:用户输入55812作为邮政编码。我知道哪个城市和地区纬度/经度。也就是给他们有关该领域的内容。我的问题是如何将其存储在Cookie中,以便他们返回时不需要总是输入邮政编码? 我看到如下: 根据其区域设置持久性cookie。 当他们返回已读取的cookie时,获取邮政编码。 根据Cookie中的邮政编码返回内容。 我似乎找不到

  • Cookie是简单的小文件/数据,通过服务器请求发送到客户端并存储在客户端。 每次用户加载网站时,都会随请求一起发送此cookie。 这有助于我们跟踪用户的操作。 以下是HTTP Cookie的众多用途 - 会话管理 个性化(推荐系统) User tracking 要在Express中使用cookie,我们需要cookie-parser中间件。 要安装它,请使用以下代码 - npm install

  • 我是库伯内特人。我在Minikube中配置的整个设置。我不确定它是否与其他kubernetes设置有所不同。 我已经在我的设置中创建了一个POD,一个Spring Boot应用程序正在8080端口上运行,这个服务将在20080端口上向集群公开。 我正在运行tcpDum的集群内运行另一个pod。我需要在20080上转储撞击集群的HTTP数据包。请告诉我如何从tcpDumpod访问集群接口。 我尝试了

  • 有时,您可能希望根据Web应用程序的要求在每个站点访问者的基础上存储一些数据。 请记住,cookie是保存在客户端的,并且根据您的客户端浏览器安全级别,设置cookie有时可能会工作,有时可能不会。 为了说明Django中的cookie处理,让我们使用之前创建的登录系统创建一个系统。 系统将让您保持登录X分钟的时间,超过该时间,您将退出应用程序。 为此,您需要设置两个cookie,last_con

  • 本文向大家介绍JS利用cookies设置每隔24小时弹出框,包括了JS利用cookies设置每隔24小时弹出框的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了,具体代码如下所示: 以上所述是小编给大家介绍的利用cookies设置每隔24小时弹出框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 什么是饼干? Web浏览器和服务器使用HTTP协议进行通信,HTTP是无状态协议。 但对于商业网站,需要在不同页面之间维护会话信息。 例如,一个用户注册在完成许多页面后结束。 但是如何在所有网页上维护用户的会话信息。 在许多情况下,使用Cookie是记住和跟踪偏好,购买,佣金以及更好的访问者体验或网站统计所需的其他信息的最有效方法。 这个怎么运作 ? 您的服务器以cookie的形式向访问者的浏览器