Javascript 安圭拉酒店;代币
我将AngularJs与JWT Auth一起使用。我已经制作了一个api并对其进行了测试 对于每个请求,api都期望得到一个令牌,对于每个响应,它都返回一个令牌对象。但当我这样尝试时:Javascript 安圭拉酒店;代币,javascript,angularjs,jwt,Javascript,Angularjs,Jwt,我将AngularJs与JWT Auth一起使用。我已经制作了一个api并对其进行了测试 对于每个请求,api都期望得到一个令牌,对于每个响应,它都返回一个令牌对象。但当我这样尝试时: employeeAppModule.config([ '$httpProvider', function ($httpProvider) { $httpProvider.interceptors.push(function () {
employeeAppModule.config([
'$httpProvider',
function ($httpProvider) {
$httpProvider.interceptors.push(function () {
var token, headers, $cookies;
//inject cookies
angular.injector(['ngCookies']).invoke(['$cookies', function(_$cookies_) {
$cookies = _$cookies_;
}]);
return {
request: function (request) {
token = $cookies.get('jwt-token');
headers = request.headers || (request.headers = {});
if(token != null && token != 'undefined') {
headers.Authorization = token;
}
return request;
},
response: function (response) {
if (typeof response.data.result === 'undefined') {
return response;
}
if(response.status && response.status.code === 401) {
alert('token wordt verwijderd');
}
if(response.data && response.data.result.token && response.data.result.token.length > 10) {
$cookies.put('jwt-token', 'Bearer ' + response.data.result.token);
}
return response;
}
};
});
}]);
它不起作用了。如果我在请求/响应之间放置两个警报框,它就会工作。如何解决此问题?您正在设置
标题
变量的授权
属性,然后返回请求
request.headers = headers;
return request;
这应该可以解决问题
不过有几件事:
- 不要将
放入cookie本身,只要在每次请求时将其添加到您的头中,它就更优雅了Bearer
- 我不确定它是否是有意的,但您确实不应该在每个请求上都返回令牌对象。如果这是故意的行为,那么我的坏李>