我有后端应用程序,我在其中使用 passport.js,如下所示:
passport.use(new LocalStrategy({
usernameField: 'login',
passwordField: 'passwd'
},function(username, password, done){
// call to external api to check if login & passwd are correct
var user = { user: username, passwd: password };
return done(null,user);
}));
passport.serializeUser(function(user, done) {
done(null,user);
});
passport.deserializeUser(function(id, done) {
done(null,id);
});
问题是我使用username
和password
字段basicAuth
来与主要的 REST API 进行通信。因此,我必须将两个字段 (username
和password
) 保留在会话中(您可以在我的 localstrategy 回调中看到这一点)以将它们用于外部服务器的 basicAuth。我怎样才能使它安全?我想将它存储在会话中不是一个好主意,因为会话保存在 cookie 中,对吗?我如何将会话数据存储在服务器上,而仅将会话/用户 ID 存储在服务器上?