我正在使用Passport.js和Angular作为webapp。我想使用passport.js来帮助进行身份验证,但我没有使用会话。每当我授权用户时,我都会得到[Error: Failed to serialize user into session]
。
我尝试添加serializeUser
和deserializeUser
回调。这没有做任何事情,我仍然得到一个错误。
我是否必须包含passport-session
并在会话中设置一些内容,以便让passport.js授权用户,或者我可以以某种方式设置serialize: false
?
答案 0 :(得分:0)
为什么这是可能的!
在某些情况下,不需要会话支持。例如,API 服务器通常需要为每个服务器提供凭据 请求。在这种情况下,可以安全地禁用会话支持 将session选项设置为false。
app.get('/api/users/me',
passport.authenticate('basic', { session: false }),
function(req, res) {
res.json({ id: req.user.id, username: req.user.username });
});