Tag: urlredirect

快速redirect到静态html(如果可用的话)到自定义path

如果redirect到静态* html(如果在公用文件夹中可用)和404(如果不可用)。 var _version = 'v1'; // redirect to a.html app.get(_version + '/a.html', (req, res) => { res.sendFile(path.join(_dirname, 'public', 'htmls', 'a.html')); }); // redirect to b.html app.get(_version + '/b.html', (req, res) => { res.sendFile(path.join(_dirname, 'public', 'htmls', 'b.html')); }); // redirect to c.html app.get(_version + '/c.html', (req, res) => { res.sendFile(path.join(_dirname, 'public', 'htmls', 'c.html')); }); // […]

如何使用Passport-Facebooklogin而不redirect?

我正在构build一个phonegap应用程序,它将在服务器端有nodejs。 我想要使​​用passport-facebook策略来实现login,但是它们的callback指定了两个path/ successcallback和/ failurecallback。 有一个单一的页面应用程序,这使得用户redirect到某个页面非常混乱。 我不想从服务器提供静态文件(index.html,login.html),而是让它们在客户端上,并要求客户端进行ajax调用。 到目前为止,我可以将/ auth / facebook调用作为AJAX请求,但由于login策略要求用户redirect,因此我无法收到相同请求的任何响应。 我宁愿要发送一个user_id或名称回成功login用户或向他展示login表单(这也是在电话号码www目录)在失败。 但redirect和CORS错误阻止我这样做。 有什么办法可以实现这个吗? 自从几个星期以来,我一直在寻找这个,但没有成功。 我真的很感谢你的帮助! PS:我宁愿避免从节点服务器发送所有html和静态内容。 编辑:添加login代码,以更好地理解: app.get('/userpage', utility.isLoggedIn, function(req, res) { res.send('User:'+req.user); }); app.get('/', utility.isLoggedIn, function(req, res) { res.redirect('/userpage'); }); app.get('/auth/facebook', passport.authenticate('facebook')); app.get('/auth/facebook/callback',passport.authenticate('facebook', { successRedirect : '/', failureRedirect : '/login' })); app.get('/logout', function(req, res) { req.logout(); res.redirect('/login'); }); utility.isLoggedIn: function isLoggedIn(req, res, next) { […]