【发布时间】:2015-01-16 09:28:56
【问题描述】:
我不太明白如何在 express/SQL 中使用 Passport 的 serializeUser 函数。
这是我的问题:
- passport.serializeUser 如何知道“用户”是什么?我应该在哪里指定?
- passport.serializeUser 如何知道哪个请求对象应该与 cookie 绑定?
我的应用配置如下所示:
var passport = require('passport');
app.use(session({ secret: 'Secret',
saveUninitialized: true,
resave: true}));
app.use(passport.initialize());
app.use(passport.session());
我还在 twitter_auth.js 中将以下代码公开给应用程序:
// twitter authentication and login
app.get('/auth/twitter', passport.authenticate('twitter'));
// handle callback after twitter has authenticated user
app.get('/auth/twitter/callback',passport.authenticate('twitter',{
successRedirect: '/',
failureRedirect: '/'
}));
// used to serialize user
passport.serializeUser(function(user,done){
done(null,user);
});
// used to deserialize the user
passport.deserializeUser(function(User_ID,done){
connection.query('SELECT * from UsersTable where User_ID = '+User_ID, function(err,rows){
done(err,rows[0]);
});
});
当我尝试发现它时:
// used to serialize user
passport.serializeUser(function(user,done){
console.log('spotted here!');
done(null,user);
});
我什么都没看到。怎么了?
【问题讨论】:
标签: node.js express passport.js passport-twitter