【发布时间】:2016-04-17 19:32:29
【问题描述】:
每当我在任何请求之前发出 $http 请求时,都会遇到流行的循环依赖问题。我以前见过这些问题:
我真的不知道上述这些问题是否与我想要达到的目标相同。我想发出一个 $http 请求来检查我的 JWT 令牌的完整性,我需要在我的服务器端执行此操作。如果令牌已过期,我需要为用户获取另一个令牌。
这是我的代码
var app = angular.module('app', ['ngRoute', 'ngStorage']);
app.factory('requestInterceptor', ['$q', '$localStorage', '$location', function($q, $localStorage, $location)
{
var requestInterceptor = {};
requestInterceptor.request = function(config)
{
// $http
// ({
// url : 'api/token',
// method: 'GET',
// headers : { Authorization : $localStorage.token}
// }).then(function(response){
// $localStorage.token = response.data.token;
// },function(response){
// $localStorage.token = null;
// $location.path('/');
// });
config.headers = config.headers || {};
if ($localStorage.token)
{
config.headers.Authorization = 'Bearer ' + $localStorage.token;
}
return config;
};
requestInterceptor.responseError = function (response)
{
if (response.status === 401 || response.status === 403)
{
$location.path('/signin');
}
return $q.reject(response);
};
return requestInterceptor;
}]);
注意
不能使用Angular-JWT
【问题讨论】:
标签: angularjs jwt angular-http-interceptors