sequelize4 +护照+快递没有完成passport.authenticate的加载(错误:网络错误)

时间:2018-12-05 22:31:35

标签: node.js sequelize.js passport.js passport-local

简化的代码如下:

await this.$store.dispatch('auth/login', {
    email: this.form.email,
    password: this.form.password
});

称为

import axios from 'axios';
export const login = async function({ commit }, { email, password }) {
if (!email || !password) throw new Error('Email and password are required');
try {
  const { data } = await axios.post('/api/auth/login', { email, password });
  // commit(mutations.SET_USER, data);
 } catch (error) {
    console.log(error);
}

和axios请求的处理方式如下:

import passport from 'passport';
router.post('/login', passport.authenticate('local'), (req, res) => { 
  // res.json(req.user);
  res.status(200).json({ message: 'user' });
});

auth_config.js具有以下内容:

const LocalStrategy = require('passport-local').Strategy;
const User = require('./api/models').User;
module.exports = passport => {
passport.use(
new LocalStrategy({ usernameField: 'email' }, (email, password, done) => {
  console.log('1');
  User.findOne(
    {
      where: {
        email: email
      }
    },
    (err, user) => {
      console.log('user.comparePassword ...');
      done(null, user);
    }
  );
  console.log('2');
 })
 );
};

(请注意,在用户名之前添加req参数或按照passport-local's readme所述执行return done(...也不起作用。)

服务器的index.js具有以下相关部分:

const session = require('express-session');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const passport = require('passport');
app.use(bodyParser.json());
app.use(cookieParser());
app.use(
 session({
  secret: ',djkwnks&jnfk/gmKZNFuif3%',
  resave: false,
  saveUninitialized: false,
  cookie: { maxAge: 60000 }
 })
);
app.use(passport.initialize());
app.use(passport.session());
//const sequelize = require('sequelize');
//sequelize.Promise = global.Promise;
require('./auth_config')(passport);

输出为:

  

1
  2
  执行中(默认):SELECT ...

因此执行了选择用户的SQL语句。


现在,我的问题是它没有完成加载(等待axios.post尚未完成),过了一会儿,我一直收到“错误:网络错误”。
注册用户有效。
我已经尝试了指南和自述文件中的一些内容。某些异步功能可能有问题吗?也许与sequ​​elize.Promise有关吗?当地护照有问题吗?我可能只是在这里错过一些琐碎的事情吗?我们非常感谢您的帮助。

0 个答案:

没有答案