Ich erstelle ein Token zur Anmeldezeit mit node.js:
apiRoutes.put('/login', function(req, res, next){
User.findOne({email:req.body.email}, function(err, user){
bcrypt.compare(req.body.password, user.password, function(err, result){
if(result){
var token=jwt.encode(user,config.secret);
return res.json({success: true, token:'JWT' +token});
}else{
return res.json("Incorrect Email and Password")
}
})
})
});
Jetzt versuche ich, die Benutzer-Dashboard-Seite mit der /dashboard
Route anzuzeigen, und mache Folgendes:
apiRoutes.get('/dashboard',function(req, res) {
var token=getToken(req.headers);
if(token){
var decode=jwt.decode(token, config.secret);
console.log(decode);
User.findOne({name:decode.name}, function(err, user){
if(err){res.json(err)}
if(!user){
return res.status(403).send({success:false, msg:'Authentication Failed'})
}else{
res.json({success:true, msg:'Welcome in the Area ' +user.name+'!' })
}
})
}else{
return res.status(403).send({success:false, msg:'No Token Found'})
}
});
getToken = function (head) {
if (head && head.authorization) {
var parted = head.authorization.split(' ');
if (parted.length == 2) {
return parted[1];
} else {
return null;
}
} else {
return null;
}
};
In postman
wenn ich traf /dashboard
api seine Arbeits gut. und Drucken der Ausgabe success:true, msg:'Welcome in the Area Admin
; Aber wenn ich in Winkel js diese API verbrauche, dann ist die Ausgabe in der Knotenkonsole null
. Unten ist meine Winkelfunktion, um API zu konsumieren
app.controller('dashboardCtrl', function($scope, $http, $location, $routeParams){
$http.get('/api/dashboard').success(function(res){
$scope.result=res;
})
})
Ich möchte wissen, wie man eine tokenbasierte Route im Winkel verwendet. Ich weiß, dass die oben angegebene Winkelfunktion nicht richtig ist. Bitte lassen Sie mich den richtigen Code wissen.
Vielen Dank
Sie haben den Header für das nicht gesetzt $http.get()
. So sollten Sie vorgehen:
$http.get('/api/dashboard', {
headers: {
// Set header for the request here
authorization: token
}
})
.success(function(res) {
// Success
});
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen