如何在Redux中使用Auth0 JWT访问API?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Redux中使用Auth0 JWT访问API?相关的知识,希望对你有一定的参考价值。
我正在使用Auth0通过JWT保护我的API端点。 “ useAuth0()。getTokenSilently()”是一个上下文挂钩,它引发“错误:无效的挂钩调用”,因为我是在js文件而不是React组件中调用它;我不确定如何解决这个问题。任何建议将不胜感激。 :)
// Actions.js
export const fetchIssues = () => async (dispatch) => {
try {
const token = await useAuth0().getTokenSilently(); // this line is throwing the error.
const response = await api.get("issues", {
headers: {
Authorization: `Bearer ${token}`,
},
});
const responseData = await response.json();
dispatch({ type: FETCH_ISSUES, payload: responseData });
} catch (error) {
console.log(error);
}
};
答案
因此,无论您想在哪里使用useAuth0(),都必须确保该组件是Auth0Provider的子级。我目前通过调用getTokenSilently使用它,然后直接将其设置为axios的标头,而无需为我的API进行重新处理。
[如果您确实有使用独立方法编写此方法的方法,请告诉我,因为我也有兴趣在单独的方法中编写此方法。
以上是关于如何在Redux中使用Auth0 JWT访问API?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 中打印受 Auth0-JWT 保护的私有 API 端点 JSON 对象?