【发布时间】:2017-07-02 09:13:05
【问题描述】:
所以我正在尝试使用 express 和 passportjs 将 facebook 身份验证添加到我的 ionic2 应用程序中。除了授权后将用户重定向回 ionic2 应用程序的最后一部分之外,我几乎让它工作了。我的两个应用程序都在不同的端口上工作; ionic2 在http://localhost:8100 上运行,并为在http://localhost:8000 上运行的后端内容表达应用程序
这些是我遵循的步骤:
- 在developers.facebook.com 上创建了应用程序并获得了应用程序ID 和秘密ID。
- 在 Products>Facebook>settings 下,我添加了 callBack url 为
-
然后在我在 localhost:8000 上运行的 express 应用程序中,我添加了 facebook 身份验证策略,如 https://github.com/jaredhanson/passport-facebook 所示,如下所示:
passport.use(new FacebookStrategy({ clientID: FACEBOOK_APP_ID, clientSecret: FACEBOOK_APP_SECRET, callbackURL: "http://localhost:8000/auth/facebook/callback" }, function(accessToken, refreshToken, profile, cb) { User.findOrCreate({ facebookId: profile.id }, function (err, user) { return cb(err, user); }); } )); app.get('/auth/facebook', passport.authenticate('facebook')); app.get('/auth/facebook/callback', passport.authenticate('facebook', { failureRedirect: '/login' }), function(req, res) { // Successful authentication, redirect home. res.redirect('/'); //how to redirect back to ionic app instead of / });所以现在每当用户点击 ionic2 应用程序上的 facebook 按钮时,它都会转到 facebook 身份验证页面,并且一旦成功通过身份验证,它就会按预期重定向回 localhost:8000/auth/facebook/callback 但我想重定向回 ionic 应用程序。我怎么解决这个问题?需要一些指导来解决这个问题。
【问题讨论】:
标签: node.js express ionic2 facebook-authentication passport-facebook