我正在努力理解应该如何在 Django 中实现基于 JWT 的身份验证(我使用的是 simplejwt)。我只是一个初学者,所以请为一些愚蠢的问题做好准备。rest-framework-simplejwt 文档非常少,并没有为像我这样的新手提供足够的细节。
path('token/obtain', jwt_views.TokenObtainPairView.as_view(), name='token_create'),
path('token/refresh', jwt_views.TokenRefreshView.as_view(), name='token_refresh'),
因此,我按照官方文档的建议在 urls.py 中创建了路径。我从这里去哪里?我想我的困惑来自这样一个事实,即我不确定我必须在代码中的确切位置发布我的令牌。假设我正在登录用户。那么,为了获得令牌,我是否必须从视图内部向“token_create”端点发送请求?还是我必须以某种方式在我的序列化程序之一中指出它?'refresh_token' 端点呢?我需要使用特定的方法吗?
那么,令牌发行后我该怎么办?显然,我不应该将它保存在数据库中,因为它首先破坏了使用 JWT 的全部目的。据我了解,我应该将其附加到标头,以便用户的后续请求包含标头中的令牌。
前端将使用 ReactJS 编写,并将位于与我的 Django 后端 API 不同的服务器上,两者之间的通信将通过 CORS 进行配置。
在这种情况下,如何将令牌附加到标头并使其使用户的浏览器在每个请求中发送令牌?是否有某种可能对此有用的软件包?