Estou lendo passport.js
informações e amostras há dois dias, mas não tenho certeza se depois disso fiz todo o processo de autenticação.
Como posso saber se estou logado, por exemplo, terei uma barra de navegação com um botão de login ou logout, existe alguma variável como o código abaixo?
if (login)
<button>logout</button>
else
<button>login</button>
node.js
express
passport.js
RMontes13
fonte
fonte
app.get
, comoapp.post
etc. Se você precisar de uma funcionalidade diferente, deve explicá-la em detalhes em sua pergunta, bem como o que você está tentando alcançar.Se desejar usá-lo em seus modelos, já que seu exemplo de código parece indicar, você pode criar algum middleware como este:
Coloque esse código em algum lugar depois de configurar o passaporte.
E, em seguida, use-o em seu modelo (exemplo de gole)
fonte
app.use(function(req,res,next){
res.locals.login = req.isAuthenticated();
res.locals.user = req.user;
next();
});
isAuthenticated
dá falso na próxima solicitação. Você poderia ajudar a responder a esta pergunta stackoverflow.com/questions/42842171/…Não está documentado explicitamente, mas existe um
isAuthenticated()
método que é inseridoreq
por passaporte .Pode ser usado da seguinte maneira,
fonte
Eu estava procurando essa solução e me deparei com esta página. A questão é como verificar o status de login no lado do cliente.
Depois de fazer o login, oculto o botão Login e mostro o botão de logout. Na atualização da página, vejo novamente o botão de login em vez do botão de logout. A única solução é salvar um item em sessionStorage se você estiver usando sessão (e localStorage se você estiver usando JWT). Exclua este item ao fazer logout. Então, em cada carregamento de página, verifique este item sessionStorage e faça de acordo.
fonte
use o código abaixo dentro de app.get () ou router.get ()
fonte
Boa pergunta, tive alguns problemas ao tentar implementar algo assim, quando há uma solicitação não autenticada, o guidão pula o bloco if se a variável res.locals retornar um valor falso. Para resolver esse problema, você precisa configurar um middleware em seu arquivo app.js para tornar o req.user disponível globalmente em seu aplicativo. Assim ..
});
Em seu arquivo de cabeçalho, você pode fazer esta verificação para usuários autenticados e exibir de acordo com o conteúdo como tal.
fonte