3
respostas

req.logIn is not function

olá, quando vou fazer rota login acontece esse erro na imagem, o codigo do arquivo estrategias-autenticacao está da seguinte forma

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade

const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;

const Usuario = require('./usuarios-modelo');

const { InvalidArgumentError } = require('../erros');

const bcrypt = require('bcrypt');

function verificaUsuario(usuario) {
  if (!usuario) {
    throw new InvalidArgumentError('Não existe usuário com esse e-mail!');
  }
}

async function verificaSenha(senha, senhaHash) {
  const senhaValida = await bcrypt.compare(senha, senhaHash);
  if (!senhaValida) {
    throw new InvalidArgumentError('E-mail ou senha inválidos!');
  }
}

passport.use(
  new LocalStrategy(
    {
      usernameField: 'email',
      passwordField: 'senha',
      session: false
    },
    async (email, senha, done) => {
      try {
        const usuario = await Usuario.buscaPorEmail(email);
        verificaUsuario(usuario);
        await verificaSenha(senha, usuario.senhaHash);

        done(null, usuario);
      } catch (erro) {
        done(erro);
      }
    }
  )
);
3 respostas

Oiie! Tudo bem ?

Você pode mostrar onde de fato faz a chamada desse "req.logIn" ? Acredito que o erro não esteja vindo desse arquivo.

Coloca essa linha antes de chamar as rotas app.use(passport.initialize())

Augusto Takeo Souza Abe , sua dica funcionou perfeitamente! Obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software