通过angularjs中的刷新令牌请求新jwt身份验证令牌的正确方法是什么?
我已经有了一个实现,在每个API请求上,检查会话是否需要刷新,如果需要,则从web服务器请求一个新的令牌但是,如果一个页面一次进行3次调用,它会为每个调用请求一个新的刷新令牌,这似乎不正确-我认为它应该只更新一次令牌。
是否有方法阻止其他调用,或者我应该将刷新设置为一个间隔,而不是通过拦截器进行?
拦截器请求方法
request = (config: angular.IRequestConfig) => {
this.setBearerToken(config);
var responsePromise = this.$q.when(config);
if (config.url !== this.tokenUrl) {
const factSession = this.$injector.get("factSession") as Session;
if (factSession.shouldRefreshToken()) {
responsePromise = factSession
.refreshSession()
.then(() => {
this.setBearerToken(config);
return config;
});
}
}
return responsePromise;
}