私はポストマンでPOSTリクエストを介してユーザーをログインしようとするたびに、私はこのエラーを取得しておく保つ:ここ 私はJWT、パスポートを持つ既存のユーザーをログインしようとするたびに401無許可取得、およびエクスプレス
passport.use(new LocalStrategy({usernameField: 'email', passwordField: 'password'}, function(email, password, done){
User.findOne({email: email}, (err, user) => {
if (err) return done(err);
if (!user){
return done(null, false, {message: "User is not registered"});
}
else {
const realPassword = String(user.password);
bcrypt.compare(password, realPassword, (err, result) => {
if (err) throw err;
if (result){
console.log('result is...' + result);
done(null, user)
}
else {
console.log('result is...' + result);
return done(null, false, {message: 'Invalid Password'});
}
}
});
}));
そしてここでは、私のルータ・ファイル内のポストリクエストメソッドです:
router.post('/login', passport.authenticate('local', {session: false}), (req, res, next) => {
function generateUserToken(user){
return jwt.sign({sub: user._id, creationDate: user.creationDate}, config.secretKey);
}
if (err) throw err;
res.send({token: generateUserToken(user)})
});
localStrategyは、私は、ユーザーのメールアドレスとパスワードを検証できるかどうかをチェックするために作られています
UPDATE:問題を解決するためにコードを変更しました。しかし、今の代わりに不正取得の、私は404 not found error
ええ、それは愚かな間違いでした。私はそれを修正しましたが、まだ 'const'が追加されても動作しません。 – MountainSlayer