如何解决刷新axios拦截器中的令牌不起作用
我正在使用react-adal
库连接到ADFS
。我正在使用axios
拦截器来获取令牌,该令牌将按照文档中的说明以静默方式刷新令牌,但是当令牌过期时它将刷新页面,让我们用户填写表格,令牌过期后,它将刷新页面并丢失所有数据。
请找到以下代码:
axiosApi.interceptors.request.use((config) => {
return new Promise((resolve,reject) => {
让azureToken = adalInstance.getCachedToken(adalConfig.resource) 如果(azureToken){ “ adalInstance.acquireToken(adalConfig.endpoints.api,(消息,令牌,错误)=> { console.log(错误); }); config.headers.Authorization =“ Bearer” + azureToken;
resolve(config);
} 其他{
adalInstance.login();
}
});
});
是否可以在后台完成任何操作,并且用户不必看到任何中断。
解决方法
不能保证无提示令牌获取将始终成功,因此应用程序应包括错误处理,该错误处理将调用交互式方法来获取令牌(根据提供的代码,应用程序似乎正在这样做)。
ADAL.js提供了一个acquireTokenPopup方法,该方法可在这种情况下使用(而不是acquirementTokenRedirect),以使用户在同一页面上不会中断流程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。