我无法弄清楚如何在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。
但是我在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。
我该怎么办?