Meus caros… seguindo o que aprendi no livro, eu precisei separar o back-end do front-end. Eu criei duas APPS no front-end com AngulaJS que consomem uma unica API (NodeJS, Express e MongoDB).
Porém ao tentar proteger os recursos conforme capitulo 8 sessão 8.8,
preciso redirecionar a rota no express /auth/github/callback
contida no meu /routes/auth.js para a rota do front-end no caso a pagina (view) desejada pelo meu usuário que precisou ser autenticada.
Como eu separei o meu front-end do back-end, ao chamar a rota /auth/github/callback
o successRedirect
acaba redirecionando para a rota ‘/’ da API (back-end). segue o código:
app.get('/auth/github/callback',
passport.authenticate('github', {
successRedirect: '/',
failureRedirect: '/auth/github',
})
);
Minha dúvida é como eu posso passar para o successRedirect a rota do fron-end (AngularJS) e não a rota da API (back-end).
Tentei fazer o seguinte cod, mas não rolou…
Back-end:
var session;
app.get('/auth/github', function authenticategithub(req, res, next) {
session = '/#' + req.query.returnTo;
next();
},
passport.authenticate('github'));
app.get('/auth/github/callback', function(req, res, next) {
passport.authenticate('github', {
successRedirect: session,
failureRedirect: '/auth/github'
});
});
Front-end:
<–partials view Auth.html -->
href=“http://localhost:3003/auth/github?returnTo={{location}}”
@flavioalmeida ou alguém sabe como eu poderia resolver isso?
Obrigado!