通过AngularJS中的刷新令牌请求新的JWT身份验证令牌的正确方法是什么?
我已经有了一个实现,该实现可以在每个API请求中检查会话是否需要刷新,如果需要,则从Web服务器请求一个新令牌。但是,如果页面一次发出3次呼叫,则它为每个呼叫请求一个新的刷新令牌,这似乎是不正确的-我认为它应该只将令牌更新一次。
是否有办法阻止其他呼叫,还是应该将刷新间隔放置而不通过拦截器执行?
拦截器请求方法
<meta name="viewport" content="width=device-width, initial-scale=1.0">
答案 0 :(得分:1)
只需增强您的refreshSession
方法,它就不会刷新几次。
var refreshPromise;
refreshSession: () => {
if (!refreshPromise) {
refreshPromise = $http.get(...);
refreshPromise.finally(() => refreshPromise = null);
}
return refreshPromise;
}