获取护照登录中req.logIn()后的空数组
Getting empty Array after req.logIn() in passport login
我正面临一种奇怪的行为,我试图使两种类型的登录,一个密码和其他是作为客人。在用户使用密码登录的情况下,Passport req.logIn()工作正常。但是当我通过guest登录时,它在会话中设置空数组。
让我向您展示我为存储数据提供的详细信息。
注册用户
var User = [];
User['email'] = "email@domain.com";
User['id_customer'] = "1";
User['id_user'] = "1";
User['other_info'] = "xyz";
User['other_info'] = "xyz";
User['other_info'] = "xyz";
User['other_info'] = "xyz";
现在在Guest User
的情况下var User = [];
User['email'] = "email@domain.com";
User['id_guest'] = "1";
User['other_info'] = "xyz";
护照登录,即req.logIn()
是
req.logIn(user, function(err) {
if (err) {
if(err instanceof Error) {
sails.log.debug(err.stack);
} else
{
sails.log.debug(err);
}
res.redirect('index/error');
}
if (req.xhr) {
return res.send({
"success": 1,
"message": info.message,
"user": user
});
} else {
res.redirect('/');
}
});
我无法调试为什么passport没有以正确的方式序列化我的Guest用户信息。序列化。
是否有约束?让我向您展示我的序列化和反序列化方法。
passport.serializeUser(function(user, done) {
// saving Complete User Object in session CouchBase instead of saving
done(null, user);
});
passport.deserializeUser(function(user, done) {
// Getting complete User Object from Couchbase as placed in req for each request
done(null, user);
});
我找到了解决方案。我犯了一个错误
我用var User = {};
代替var User = [];
,它工作了。
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将数组从PHP传递到Javascript
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 在函数中添加数组元素的数值
- 无法通过数组映射绑定
- javascript中的数组出错
- 如何使用 node.js 比较两个 json 数组
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- 如何通过数组更新角度子范围
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 在Javascript中转换对象数组
- 获取护照登录中req.logIn()后的空数组