versucht, Anmeldung mit Pass-JWT zu implementieren. Sowohl die Anmeldung als auch die Anmeldung funktionieren einwandfrei, Token wird bei der Anmeldung erstellt und an den Client gesendet, der sie speichert und zurückgibt.passpjs jwt, Clientantwort wird nicht authentifiziert
Nach der Anmeldung Authentifizierung Anfrage App erreicht und nichts passiert .. Hilfe? :)
JWT Strategie
var JwtStrategy = require('passport-jwt').Strategy,
ExtractJwt = require('passport-jwt').ExtractJwt;
var opts = {}
opts.jwtFromRequest = ExtractJwt.fromAuthHeader();
opts.secretOrKey = 'secret';
opts.issuer = "http://localhost:3000";
opts.audience = "http://localhost:3000";
passport.use('jwt', new JwtStrategy(opts, function(jwt_payload, done) {
console.log(1)
return User
.findOne({where : {username : jwt_payload.email } })
.then(function (user) {
if(user === null){
return TempUser
.findOne({where : {username : jwt_payload.email } })
.then(function(user){
return user === null ?
done(null, false, 'login error, please try again') :
done(null, false, 'email verification needed');
});
} else {
if (bcrypt.compareSync(password, user.dataValues.password)){
done(null, user);
} else {
done(null, false, 'login error, please try again');
}
}
});
}));
Strecke
router.get('/login/check', function(req, res, next) {
passport.authenticate('jwt', function(err, user, info) {
console.log(err)
res.json({'success' : true});
})
})
req.query von Client zurückgegeben
GET /login/check?%22eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJzaGFpLmthcGx1bkBnbWFpbC5jb20iLCJwYXN
zd29yZCI6IiQyYSQxMCQ0YXpvSlVLMkltUkl3YWo0Uzlqd1RPVXh0RWIwYWphNW92UjRvUnV1QUFRdnJ5Z3g5cWttNiIsImNyZWF0ZWRBdCI6IjIwMTYtMDg
tMDdUMTM6MjI6NDYuMzUyWiIsInVwZGF0ZWRBdCI6IjIwMTYtMDgtMDdUMTM6MjI6NTkuOTExWiIsImlhdCI6MTQ3MDY1NzY0MCwiZXhwIjoxNDcwNzU3NjQ
wfQ.hyHDcmzJne-d6roRXBgC9aQDeZzQPgpkWWOZicQNc8c%22 - - ms - -
ja, dachte das gleiche. Aber das Setzen des Tokens im Header von der Client-Seite hat meinem Fall nicht geholfen. Was ich getan habe, war mit der Verwendung von Passport-JWT aufzuhören und ich vertraue jetzt nur noch auf die jsonwebtoken-Bibliothek für Sign/Verify – Skaplun