护照成功重定向/失败重定向CORS问题

时间:2019-12-08 00:13:58

标签: cors

我遇到以下错误,尽管我知道这是一个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吗?

0 个答案:

没有答案