我在前端使用AngularJS创建了两个使用单个API(NodeJS,Express和MongoDB)的应用程序。
在尝试保护资源时,我需要将我的/routes/auth.js中包含的express / auth / github / callback中的路由重定向到前端路由,以防我的用户需要的页面(视图)经过验证。
当我将前端与后端分开时,调用/ auth / github / callback路由successRedirect最终会重定向到' /' API的路由(后端)。
遵循以下代码:
app.get('/auth/github/callback',
passport.authenticate('github', {
successRedirect: '/',
failureRedirect: '/auth/github',
})
);
我的问题是 ...如何将前端路由(AngularJS)传递给successRedirect,而不是API(后端)路由。
我尝试了以下鳕鱼,但它不起作用......
背端:
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'
});
});
前端:
<--partials view Auth.html -->
href="http://localhost:3003/auth/github?returnTo={{location}}"
有谁知道我怎么解决这个问题? 感谢!!!