Node-Express在护照中引发错误

时间:2019-01-19 18:57:27

标签: node.js express passport.js

我无法弄清楚如何在Node-Express-Passport App中引发错误。

将此视为我的Meetup护照策略

passport.use(new MeetupOAuth2Strategy({
    clientID: process.env.MEETUP_CLIENT_ID,
    clientSecret: process.env.MEETUP_CLIENT_SECRET,
    callbackURL: process.env.MEETUP_CALLBACK_URL,
    passReqToCallback: true
}, (req, accessToken, refreshToken, params, profile, done) => {
      if (req.user) {
        let expiryTime = authHelper.calculatingTokenExpiryTime(params.expires_in)
        let TokenToStore = {"meetupRefreshToken": refreshToken, "meetupAccessToken": accessToken, "meetup_expires_in": expiryTime}
        FirebaseHelper.updateDataInDb("authentication", req.user.email, TokenToStore).then(() => {
            FirebaseHelper.updateDataInDb("users", req.user.email, {"meetup": true}).then(() => {
                req.user["meetup"] = true
                req.session.contextToken = {...req.session.contextToken, ...TokenToStore}
                return done(null, req.user)
            })
        })
        .catch(error => { throw error })
      }
  }));

根据Passport文档,完成需要以下参数parameter。

  1. 错误
  2. 我们要序列化并存储在cookie中的信息

但是我在SF上查看过的所有其他文件都说要把它扔进我的回调中。

有人可以帮我弄清楚我们怎么能丢护照。

通过我的api路由考虑这些问题

router.get('/meetup', MiddlewareAuth.UserLoggedIn, passport.authenticate('meetup', { session: false }));

router.get("/meetup/callback", (req, res, next) =>{
    passport.authenticate('meetup', (err, user, info) => {
        if (err) { return next(err); }
        if (!user) { return res.redirect(process.env.CLIENT_ADDRESS); }
        req.logIn(user, function(err) {
            if (err) { return next(err); }
            return res.redirect(process.env.CLIENT_ADDRESS);
          });
    })(req, res, next);
})

此外,我不会序列化/反序列化我的用户,因为我希望我的用户在登录后连接其社交资料。

有人可以帮我弄清楚我们怎么能丢护照

考虑我的数据库unauthorizedRouteWithintheApp没有响应/已关闭,我想抛出错误500。

我该怎么办?

0 个答案:

没有答案