我遇到以下错误,尽管我知道这是一个corS问题,但不确定如何解决。 Error
这是我的server.js代码:
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({origin: true,credentials: true}));
这是我的user.js
router.post('/login', function(req, res, next){
passport.authenticate('local', {
successRedirect:'http://localhost:3000',
failureRedirect:'http://localhost:3000/login',
})(req, res, next);
});
这是我的护照模块
const LocalStrategy = require('passport-local').Strategy
const User = require('../models/user.model');
const config = require('../config/database');
const bcrypt = require('bcryptjs');
const express = require('express')
module.exports = function(passport) {
console.log('test2')
//Local strategy
passport.use(new LocalStrategy(function (username, password, done){
console.log('ran')
//Match username
const query = {username: username}
User.findOne(query, function(err, user) {
if (err) console.log(err);
if (!user) {
return done(null, false, console.log('User does not exist'))
}
//Match password
bcrypt.compare(password, user.password, function(err, isMatch){
if (err)
throw err;
if (isMatch){
return done(null, user);
} else {
return done(null, false, console.log('Wrong password'))
}
})
})
}))
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
}
在/ login的POST发生时发生错误。我有反应在端口3000上运行,后端在端口5000上运行。 据我所知,app.use(cors())不应该允许CORS吗?