用户登录时使用 dj-rest-auth 获取授权令牌

get auth token using dj-rest-auth when user logged in

以前我使用的是 django-rest-auth 包,当用户 log in 响应 response.data.key 和这个 auth token 或 [=21 时,我得到了 auth token =] 在 api 调用中工作正常,因为 authentication auth

之前 django-rest-auth:

"/rest-auth/login/"

正在将 response.data.key 设为 auth token,这很有效 我已经保存在cookie中以备后用

.get("/rest-auth/user/", {
     headers: {
       "Content-Type": "application/json",
       Authorization: "Token " + response.data.key + "",
       },
  })

它正在努力获取有关用户的信息,并且在其他 api 调用中通过将其设置为

时也能正常工作
Authorization: "Token " + response.data.key + ""

但现在,我正在使用 dj-rest-auth 包而不是 django-rest-auth 并将我的网址转移到

/dj-rest-auth/login

而且我没有得到任何可以用于 header.

中的 authorizationkeyauth token
.get("/dj-rest-auth/user/", {
     headers: {
       "Content-Type": "application/json",
       Authorization: "Token " + response.data.? + "",
       },
  })

它不起作用,因为现在我得到 access_tokenrefresh_tokenuser info。我尝试对 header 中的 authorization 使用 access_tokenrefresh_token 但它不起作用,因为我没有得到 keyauth token 响应当用户 log in

注意:django-rest-auth不再维护,dj-rest-auth是从前一个分支出来的,功能更多(这就是我切换的原因)

如何使用 dj-rest-auth 包获取 auth tokenkey 以便我可以在 API 的 header 请求授权中使用它?

检查您没有设置中的REST_USE_JWT = True。该设置将启用 JWT 身份验证方案,而不是(默认)基于令牌的方案。