Angularjs 在单独的应用程序API后端和应用程序前端堆栈中使用Passport进行身份验证

Angularjs 在单独的应用程序API后端和应用程序前端堆栈中使用Passport进行身份验证,angularjs,node.js,mongodb,authentication,passport.js,Angularjs,Node.js,Mongodb,Authentication,Passport.js,我在前端用AngularJS创建了两个应用程序,它们使用一个API(NodeJS、Express和MongoDB) 当试图保护资源时,我需要将我的/routes/auth.js中包含的express/auth/github/callback中的路由重定向到前端路由,以防我的用户需要的页面(视图)经过身份验证 当我将前端与后端分离时,调用/auth/github/callback route successRedirect最终会重定向到API(后端)的“/”路由 遵循代码: app.get('/a

我在前端用AngularJS创建了两个应用程序,它们使用一个API(NodeJS、Express和MongoDB)

当试图保护资源时,我需要将我的/routes/auth.js中包含的express/auth/github/callback中的路由重定向到前端路由,以防我的用户需要的页面(视图)经过身份验证

当我将前端与后端分离时,调用/auth/github/callback route successRedirect最终会重定向到API(后端)的“/”路由

遵循代码:

app.get('/auth/github/callback',
    passport.authenticate('github', {
        successRedirect: '/',
        failureRedirect: '/auth/github',
    })
);
我的问题是。。。如何将前端(AngularJS)的路由而不是API(后端)的路由传递给successRedirect

我尝试了以下的化学需氧量,但它没有工作

后端:

前端:


href=”http://localhost:3003/auth/github?returnTo={{location}}”
有人知道我怎么解决这个问题吗?
谢谢

我在寻找同样的解决方案。你找到答案了吗?到目前为止我什么都没找到!我在寻找同样的解决方案。你找到答案了吗?到目前为止我什么都没找到!
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}}"