$http
如果任何调用导致 401 错误,从服务器检测错误并删除令牌的最简单方法是什么?例如,如果会话在用户未使用应用程序时到期,则当他们返回 Web 应用程序时,令牌不再有效。如果我在 API 调用期间发回 401 错误,我需要注意这一点并让用户重新登录。
目前,在 Chrome 开发者工具中,我可以看到 401 错误,但 Satellizer 并没有删除令牌(以为是一次删除)。
我尝试创建一个 httpInterceptor,但收到循环依赖错误:
apiLogoutInterceptor.$inject = ['$q', '$auth'];
function apiLogoutInterceptor ($q, $auth) {
var service = this;
service.responseError = function (response) {
if (response.status == 401) {
$auth.removeToken();
window.location = '/login';
}
return $q.reject(response);
};
}
configureApiLogout.$inject = ['$httpProvider'];
function configureApiLogout ($httpProvider) {
$httpProvider.interceptors.push('apiLogoutInterceptor');
}