在cookies中设置Django REST Frmework JWT
我正在使用来验证用户。我已经覆盖了内置的在cookies中设置Django REST Frmework JWT,django,rest,reactjs,cookies,jwt,Django,Rest,Reactjs,Cookies,Jwt,我正在使用来验证用户。我已经覆盖了内置的JSONWebTokenAPIView,以便在响应中返回用户详细信息。我还在我的视图中设置cookies中的令牌 def post(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) if serializer.is_valid(): user = serializer.object.get('user')
JSONWebTokenAPIView
,以便在响应中返回用户详细信息。我还在我的视图中设置cookies中的令牌
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时,我可以在cookie中看到令牌。但我的前端(React)应用程序正在localhost:3000上运行,当我从前端服务器点击此api时,我收到了成功响应,但cookie中没有设置令牌
我也需要设置cookie域吗 我需要在前端和后端用credentials:true设置
多亏了这篇文章,找到了答案你需要通过jsok设置cookie。但当django在响应头中发送set cookie
时,它不会自动设置吗?