Olá pessoal!
Estou iniciando no nodejs e estou achando incrível. Porém estou precisando de uma mãozinha.
Eu estou usando o passport local para autenticação do usuário e apesar de estar exatamente como ensina na video aula,
ainda assim não avança para a página principal. Só para explicar melhor. Ao debugar, percebo que ele faz a leitura do email e do id na base mysql.
As constantes estão declaradas e não mostra erro algum. Alguém poderia me dar uma luz?
Vou postar o código tal como está, para melhor entendimento e desde já agradeço.
Este é o "auth.js"
const localStrategy = require("passport-local").Strategy
const bcrypt = require("bcryptjs")
//model
const Usuario = require("../models/Usuario")
require("../models/Usuario")
module.exports = function(passport){
passport.use(new localStrategy({usernameField: 'email', passwordField: 'senha'}, (email, senha, done) => {
Usuario.findOne({where: {email: email}}).then((usuario) => {
//Usuario.findOne({email: email}).then((usuario) => {
if(!usuario){
return done(null, false, {message: "Esta conta não existe"})
}
bcrypt.compare(senha, usuario.senha, (erro, batem) => {
if(batem){
return done(null, usuario)
}else{
return done(null, false, {message: "Senha incorreta"})
}
})
})
}))
passport.serializeUser((usuario, done) => {
done(null, usuario.id)
})
passport.deserializeUser((id, done) => {
Usuario.findByPk(id, (err, usuario) => {
done(err, usuario)
})
})
}