Javascript React admin,如何正确处理dataProvider上的身份验证错误?
我正在尝试将经过身份验证的数据提供程序集成到React Admin中,但是当数据提供程序还没有来自身份验证提供程序的有效身份验证令牌时,我遇到了问题 我正在使用 我实例化数据提供程序的代码如下所示:Javascript React admin,如何正确处理dataProvider上的身份验证错误?,javascript,reactjs,react-admin,postgraphile,Javascript,Reactjs,React Admin,Postgraphile,我正在尝试将经过身份验证的数据提供程序集成到React Admin中,但是当数据提供程序还没有来自身份验证提供程序的有效身份验证令牌时,我遇到了问题 我正在使用 我实例化数据提供程序的代码如下所示: const dataProvider = buildPostgraphileProvider({ apolloHttpLinkOptions: { uri: `http://localhost:5433/graphql`, fetch: (url, options) =>
const dataProvider = buildPostgraphileProvider({
apolloHttpLinkOptions: {
uri: `http://localhost:5433/graphql`,
fetch: (url, options) => {
// You can add custom auth logic with a wrapper around fetch
const token = localStorage.getItem("token");
if (!token) {
return;
}
if (jwt.decode(token).exp < Date.now()) {
localStorage.removeItem("token");
return;
}
const headers = {
...options.headers,
authorization: `bearer ${token}`
};
return fetch(url, { ...options, headers });
}
}
});
console.log(dataProvider);
我还尝试在不存在令牌时返回HTTPError:
return new HttpError("denied", 403, { status: 403 });
得到了一个不同的结果:
未处理的拒绝(错误):网络错误:获取程序(…)。then不是函数
return new HttpError("denied", 403, { status: 403 });