【发布时间】:2020-10-03 00:14:43
【问题描述】:
我想检索用户详细信息以显示已登录用户的用户名 我需要从 django-rest-auth 的“http://127.0.0.1:8000/rest-auth/user/”获取用户名 我是 reactjs 新手,尝试了成功但无法通过的身份验证。
到目前为止我已经尝试过了
axios.get(`http://127.0.0.1:8000/rest-auth/user/`,
{
headers: { 'Authorization': "token " + localStorage.getItem('token') }
}
).then(res => {
console.log(res)
}).catch(Error => {
console.log(Error)
})
返回禁止的403错误;
错误
Error: Request failed with status code 403
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.handleLoad (xhr.js:61)
同样在上面的代码中,我还以以下方式指定了标题 headers: { 'Authorization': "token key_from_DRF " } 但没有运气
我也试过了
axios.get(`http://127.0.0.1:8000/rest-auth/user/`,
{
headers: { 'Content-Type': 'application/json' }
}
)
.then(res => {
console.log(res)
}).catch(Error => {
console.log(Error)
})
返回与以前相同的错误。 我应该如何成功执行这个请求?
【问题讨论】:
-
您是否从可浏览 API 中的相同 URL 获得所需结果?
-
因为
http://127.0.0.1:8000/rest-auth/user/需要身份验证,它会将我重定向到登录页面http://127.0.0.1:8000/rest-auth/login/,一旦成功,它就会返回所需的数据。 -
在axios函数中试试console.log(token),确保你传递了token
-
在标题部分尝试标题:{ 'Authorization': "Token " + localStorage.getItem('token') },大写 Token 代替 token
-
我已经通过这种方式在localStorage中设置了'token';我确定传递令牌是正确的。
标签: django reactjs django-rest-framework axios django-rest-auth