我已经实现了JWT系统,以确保项目的前期需求。我还添加了JWT RefreshToken System,以允许用户在JWT许可后获得新令牌。
目前,我可以执行请求并获得新的令牌,如果由于令牌太旧而被拒绝。我的问题是:在获取新令牌和refresh_token后如何重复上一个请求?
当然,会有很多请求,所以如果我只有一个可以重复上一个函数的函数,那将是一件很棒的事!
这是我获取新令牌的功能:
function ft_ask_new_token() {
$.post({
url: ROOT_DIR + "token/refresh",
data: {
refresh_token: $.cookie("refresh_token")
}
})
.resolved(function(e) {
$.cookie("token", e.token, {
expires: 1
});
$.cookie("refresh_token", e.refresh_token, {
expires: 1
});
//perform the previous request here ?
})
.fail(function(e) {
// If the refresh_token is refused, redirecting to login page
//window.location(ROOT_DIR + '/')
});
}
当先前的请求被$ .fail回调拒绝时,将调用此函数。这很好用,我得到了新的令牌。但是此刻,用户必须再次单击以获取他想要的信息。我希望使用.done回调执行上一个请求