即时通讯尝试使附加用户令牌的拦截器在每个请求中都存在的情况下,该令牌存在但它不发送它......通话结束后,我查看F12(Chrome开发工具)的电话和授权标题不存在...AngularJS不发送身份验证标头
但是,如果我一步一步调试,我可以看到如何在config.headers.Authorization有我的令牌...但仍然没有发送通过请...我可以请求一些帮助吗?
这是我拦截
$httpProvider.interceptors.push(function($q, $location, $cookies){
return {
request: function(config){
config.headers = config.headers || {};
let token = $cookies.get('user');
if (token) {
config.headers.Authorization = 'Bearer ' + token;
}
return config;
},
response: function(response){
return response;
},
responseError: function(response){
if(response.status === 401 || response.status === 403){
$location.path('/login')
}
return $q.reject(response);
}
}
})
CORS配置
var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'X-Requested-With,Content-Type,Authorization');
next();
}
配置在它之前发送
REQ/RES预检
您的预检'选项'请求是否返回'Access-Control-Allow-Headers:X-Requested-With,Content-Type,Authorization'? – lin
是的这是,这些是我把我的服务器端允许的标头 – FridoxFL
你可以尝试'console.log(配置);'直接上面'返回配置;'是你的配置里面?这一切对我来说似乎都很好。 – lin