首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mongoose + Everyauth奇怪的行为

Mongoose + Everyauth奇怪的行为
EN

Stack Overflow用户
提问于 2011-08-24 08:55:00
回答 2查看 1.2K关注 0票数 2

使用每个身份验证,当我在我的网站上使用一个从未验证过的用户登录时,会启动以下代码。检查用户是否已经在我的mongodb中,如果没有,它会写入它。现在的问题是,它适用于第一个通过身份验证的用户,然后如果第二个用户登录,我的joiningUser._id参数就会正确地初始化,但我的模式中的所有其他参数都来自第一个保存的用户,就像我的参数永远不会重新初始化一样……奇怪的是,我的console.log显示了正确的新参数,而不是数据库中实际写入的参数。我的身份验证是通过done模块完成的,我使用的是express框架。

代码语言:javascript
运行
复制
exports.findOrCreateFacebookUser = function(fbUserData, promise){

  User.findOne({_id:fbUserData.id}, function(err, user) {
    if(err) {
      console.log("Error in finding user for auth. Check Db");
      promise.fail(err);
      return;
    }
    else if(user){
      console.log("User found ");
      promise.fulfill(user);     
    }
    else{

      var joiningUser = new User();
      joiningUser._id = fbUserData.id;
      joiningUser.firstName = fbUserData.first_name;
      joiningUser.lastName = fbUserData.last_name;
      joiningUser.email = fbUserData.email;
      //console.log(JSON.stringify(joiningUser));
      joiningUser.save(function(err){
        if(err){
          console.log("Couldnt save new user: " + err);
          promise.fail(err);
          return;
        }
        else{
          console.log("User wasnt existant, it is now created: " + JSON.stringify(joiningUser));
          promise.fulfill(joiningUser);
        } 
      });
    }
  });
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-24 09:32:43

似乎在为_id分配强制值时出现了问题。因此,我为特定于配置文件的id创建了另一个id (例如: facebookId)。

票数 1
EN

Stack Overflow用户

发布于 2011-08-24 11:32:55

使用mongoose-auth。它会为你处理mongoose和everyauth的组合。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7169273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档