# \[Livro MEAN full stack\] - Autenticação com Passport em aplicações separadas API back-end e APP front-end - Stack MEAN

**URL:** <https://forum.casadocodigo.com.br/t/livro-mean-full-stack-autenticacao-com-passport-em-aplicacoes-separadas-api-back-end-e-app-front-end-stack-mean/380>\
**Category:** Livros\
**Tags:** mean\
**Created:** [Dezembro 5, 2016, 1:52pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-full-stack-autenticacao-com-passport-em-aplicacoes-separadas-api-back-end-e-app-front-end-stack-mean/380 "2016-12-05T13:52:18Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![robsonfagundes](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/robsonfagundes/32/14297_2.png) [@robsonfagundes](https://forum.casadocodigo.com.br/u/robsonfagundes)\
**Post date:** [Dezembro 5, 2016, 1:52pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-full-stack-autenticacao-com-passport-em-aplicacoes-separadas-api-back-end-e-app-front-end-stack-mean/380/1 "2016-12-05T13:52:18Z")

</div>

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}](http://localhost:3003/auth/github?returnTo=%7B%7Blocation%7D)}”

@flavioalmeida ou alguém sabe como eu poderia resolver isso?  
Obrigado!

---

<div class="post-metadata">

**Author:** ![flaviohenriquealmeida](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/flaviohenriquealmeida/32/6298_2.png) [@flaviohenriquealmeida](https://forum.casadocodigo.com.br/u/flaviohenriquealmeida)\
**Post date:** [Junho 22, 2017, 7:02pm UTC](https://forum.casadocodigo.com.br/t/livro-mean-full-stack-autenticacao-com-passport-em-aplicacoes-separadas-api-back-end-e-app-front-end-stack-mean/380/2 "2017-06-22T19:02:57Z")

</div>

Opa!

Você tem o código completo da aplicação no git? Olhando assim, só esse trecho, eu seguiria pela sua solução, mas ela parece não ter rolado. O passport é bem legal na hora de isolar a complexidade da autenticação, mas as convenções que ele assume às vezes não dá para mudar. Mas vamos ver o que descobrimos!
