Ich habe eine Login-Route, die überprüft, ob ein Benutzer ein Token generiert und zur Startseite weiterleitet. Ich habe etwas Middleware eingerichtet, aber wenn ich versuche, auf das Token in der Middleware zuzugreifen, werde ich undefiniert. Das Token wird eingerichtet und befindet sich im Header, wenn ich nicht weiterleite, aber wenn ich weiterleite, scheine ich das Token aus den Headern zu verlieren. Dies ist das erste Mal, dass ich mit Token jede Hilfe gewürdigt habe. Hier ist eine reduzierte Version von dem, was ich arbeite mit:Zugriff auf ein Token von einer Weiterleitung im Knoten
router.post('/login', function(req, res) {
var token = admin.generateToken('authentication');
if(token) {
//doing this I get the token in the header in postman
//res.header('Auth', token).send('token in header');
//lose the token doing this
res.header('Auth', token).redirect('/');
} else {
res.send('IS ADMIN NO TOKEN GENERATED');
}
});
router.get('/', middleware.requireAuthentication, function(req, res, next) {
//Can't reach here because of undefined token
});
middlware.js
module.exports = function(db) {
return {
requireAuthentication: function (req, res, next) {
var token = req.get('Auth');
console.log('TOKEN: ' + token); //undefined
}
}
};
Wie konnten Sie den Token Wert bestehen? Ich stehe vor dem gleichen Problem. Mein Webclient sendet ein OAuth2-Token mithilfe einer Umleitung an den Webserver. Ich habe Header versucht, aber der 'res.redirect()' Befehl setzt die Header zurück. Ich habe auch versucht, das Token in 'req.session.accesstoken' zu speichern, aber auf der Serverseite wird dieser Wert nicht beibehalten. – Umair47