【发布时间】:2018-09-08 12:39:16
【问题描述】:
我已经从到达终点/oauth/token 获得了令牌,并通过邮递员将其通过标题传递给/api/v2/users/{id},就像这样
{Authorization: `Bearer ${token}`}
在邮递员上它工作得很好,并把用户还给我。但是,当我在我的应用程序中执行此操作时,我会返回 401 错误。我正在使用 axios 并像这样传递令牌。
return new Promise((resolve, reject) => {
axios
.post('https://taustin.auth0.com/oauth/token', body, headers)
.then(res => {
resolve(res.data.access_token);
})
.catch(err => {
reject(err);
});
});
上面是generateToken函数。
generateToken()
.then(token => {
const headers = { Authorization: `Bearer ${token}` };
console.log(token); //token is valid here
axios
.get(
`https://taustin.auth0.com/api/v2/users/${profile.sub}`,
headers
)
.then(res => {
console.log(res);
});
})
在 catch 块中,我收到 401 unauth 错误和消息。我不确定我在做什么与邮递员和我的应用程序不同,但我做错了。
【问题讨论】:
-
其余的请求头是否相同? Content-type、Accept、Referer 和 Origin?
-
你能展示1)获取令牌2)传递令牌的整个流程吗?两者之间可能存在导致问题的原因
-
@GaborLengyel 是的,标题是相同的。猎人将进行编辑
-
@TaylorAustin 尝试将标头包装在对象文字中,我相信 GET 的所有选项都必须作为单个对象传递:
axios.get(URL, { headers })
标签: javascript axios auth0