我目前正在开发Django-React网络应用,并使用django-rest-framework-simplejwt和dj-rest-auth进行身份验证。
起初,我将JWT存储在前端cookie(js-cookie)中,并在标头中发送令牌以获取对受限端点的访问。由于本地客户端cookie不是HttpOnly,经过一些研究,我发现将其存储在前端不是一种安全的方法。因此,我决定不将它们存储在客户端Cookie中。
在Django设置中,我将cookie名称声明为JWT_AUTH_COOKIE = 'myHttpOnlyCookie'
似乎是使用HttpOnly cookie的最佳解决方案,因此,当我从具有用户名和密码的客户端发出请求以使用access_token。
对于登录部分,由于dj-rest-auth能够很好地处理它,因此我没有编写任何代码,因此我使用其标准的loginserializer和view。(https://github.com/jazzband/dj-rest-auth/blob/master/dj_rest_auth/serializers.py)。好吧,也许我应该修改它。
但是问题是我无法在客户端请求的标头中添加令牌,因为我没有在客户端上存储令牌,并且它是HttpOnly。好吧,如果我无法在请求中发送令牌,我真的不知道如何验证用户。