未定义的访问令牌Auth0 ReactJS
我正在尝试设置Auth0身份验证。当我尝试向同样受Auth0保护的Django后端API发送HTTP请求时,我收到一个401未经授权的错误。我设法将问题缩小到访问令牌提交 当我尝试从我的react前端使用axios发送HTTP请求时,如果我的控制台记录了访问令牌,它会说未定义。而且这个请求不起作用。同时,如果我只是呈现访问令牌变量,我可以在我的视图上显示它,如果我从那里复制它并使用Postman发送请求,那么一切都正常。知道为什么会这样吗?非常感谢 -编辑- 我发现错误发生在登录时重新加载之后。第一次登录GET请求时,其工作方式与预期相同。因此,我假设App.js类中的componentDidMount中存在错误,但无法找出原因未定义的访问令牌Auth0 ReactJS,reactjs,auth0,Reactjs,Auth0,我正在尝试设置Auth0身份验证。当我尝试向同样受Auth0保护的Django后端API发送HTTP请求时,我收到一个401未经授权的错误。我设法将问题缩小到访问令牌提交 当我尝试从我的react前端使用axios发送HTTP请求时,如果我的控制台记录了访问令牌,它会说未定义。而且这个请求不起作用。同时,如果我只是呈现访问令牌变量,我可以在我的视图上显示它,如果我从那里复制它并使用Postman发送请求,那么一切都正常。知道为什么会这样吗?非常感谢 -编辑- 我发现错误发生在登录时重新加载之后。
async componentDidMount() {
const token = auth0Client.getAccesstoken();
const header = {
headers: { Authorization: `Bearer ${token}` }
};
console.log(token);
const questions = (await axios.get(
"http://localhost:8000/api/question",
header
)).data;
this.setState({
questions
});
}
我假设这是一个异步问题,请尝试:
const token = await auth0Client.getAccesstoken();
在做了更多的测试之后,它在我第一次登录时工作,但如果我重新加载,它就不会工作,即使标记总是使用令牌值呈现。谢谢你的回答。试过了,但没用,问题还是一样。尽管令牌存在,但请求失败,并且仅在重新加载时发生。如果我在网站上转到另一个路径,然后回到那里,它就会工作,所以只有在重新加载时才工作。
//If I render it like this on JSX I can display it copy it and use it over Postman
<p>{auth0Client.getAccesstoken()}</p>
const token = await auth0Client.getAccesstoken();