在我们的应用中,我们使用离心机作为一个网络套接字连接+反应。当刷新令牌时,我使用配置函数- onRefresh,然后接收新令牌并设置它。
refreshHeaders: { Authorization: `Bearer ${localStorage.getItem("act")}` },
onRefresh: async function (ctx, cb) {
try {
await axios
.post(`${BASE_URL}/centrifugo/refresh`, null, {
headers: {
Authorization: `Bearer ${localStorage.getItem("act")}`,
},
})
.then((data) => {
centrifuge.setToken(data.token);
});
} catch {
centrifuge.disconnect();
console.log("resfresh failed 1");
}
},但是在ws连接中,我得到了一个错误代码:109,令牌过期了,我的方式有什么问题?
发布于 2022-09-25 06:48:54
对于被问到这个问题的离心机-jsv2.x,解决方案是调用cb (在onRefresh参数中由SDK传递),而不是在从后端获得令牌时调用centrifuge.setToken。
离心机-jsv3.x对令牌刷新( 在此描述 )的API略有不同。
https://stackoverflow.com/questions/71912922
复制相似问题