Ich arbeite mit JWT-Tokens mit Nodejs und Angular JS. Ich fand $ httpProvider Weg der Header-Header für jede Anfrage. Aber die Header werden nicht gesendet. Meine NodeJS-App wird beim Zugriff auf diesen Header nicht definiert.AngularJS sendet keine Autorisierung oder einen zusätzlichen Schlüssel/Wert-Header
Mein Winkel Code
Für Autorisierungs-Token Einstellung -
$httpProvider.interceptors.push(['$q', '$location', '$localStorage', function($q, $location, $localStorage) {
return {
'request': function (config) {
config.headers = config.headers || {};
if ($localStorage.token){
console.log($localStorage.token)
config.headers.Authorization = 'Bearer ' + $localStorage.token;
console.log(config.headers);
}
return config;
},
'responseError': function(response) {
if(response.status === 401 || response.status === 403) {
$location.path('#login');
}
return $q.reject(response);
}
};
}]);
Hier ist meine HTTP-Request
$scope.getSearcHistory = function(){
console.log($localStorage.token);
console.log($rootScope.getCurrentUser());
$http({
url: baseUrl+'userSearches/2',
method : 'GET',
headers: {
'key': '1234424252'
}
})
.success(function(data, status, headers, config){
console.log(data);
$scope.searches = data;
})
.error(function(data, status, headers, config){
console.log(status);
});
}
Dieses Contoller mein NodeJS ist
this.router.use(function(req, res, next){
console.log(req.headers);
var bearerToken;
var bearerHeader = req.headers.authorization;
console.log(bearerHeader)
if (typeof bearerHeader !== 'undefined') {
var bearer = bearerHeader.split(" ");
bearerToken = bearer[1];
req.token = bearerToken;
next();
} else {
res.send(403).json({"Authorization": "Not allowed"});
}
});
Hier meine Knoten Konsole ist, sieht es keine Header, die ich brauche -
{
host: 'localhost:8080',
connection: 'keep-alive',
'access-control-request-method': 'GET',
origin: 'http://localhost:440',
'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
'access-control-request-headers': 'authorization,key',
accept: '*/*',
referer: 'http://localhost:440/vokal/'}
Das Problem ist, dass, wenn ich den Header in Express-App bekomme, überprüfen Sie meine Frage 'access-control-request-headers: 'Autorisierung, key'' Aber ich req.headers.authorisation und req.headers.key beide sind undefiniert . Ich meine Wie kann ich auf den Wert zugreifen? – Shailendra2014
Wenn Sie einen Druck auf req.headers machen, welchen Wert erhalten Sie? –
letzten Code-Block in meiner Frage ist die 'console.log (req.headers') – Shailendra2014