【发布时间】:2022-11-13 03:07:15
【问题描述】:
我正在尝试使用刷新令牌每隔几分钟刷新一次身份验证令牌。我的问题是令牌保存在Context 中(在必要时使用useContext 检索它)并且我正在努力使用类似setInterval 的函数来读取当前令牌,将其发布到服务器并在该州更新它。
这就是我想要做的:
const {
tryLocalSignIn,
signin,
signout,
state: AuthState,
} = useContext(AuthContext);
...
let id = setInterval(async () => {
let token = AuthState.token;
let refreshToken = AuthState.refreshToken;
console.log("Running refresh token", token, refreshToken);
let answer = await ApiRefreshToken(token, refreshToken);
if (answer.status !== 200) {
setError("Error using refresh token");
return;
}
signin({
token: answer.data.token,
refreshToken: answer.data.refreshToken,
expires_in: answer.data.expires_in,
});
}, 15000);
...
但我无法从 AuthState 中读取
【问题讨论】:
标签: reactjs state react-context refresh-token