我能够对现有用户进行身份验证,但我无法创建新的用户帐户?这是我的代码

时间:2014-08-21 17:38:57

标签: node.js mongodb express mongoose passport.js

//*********************This was to authenticate user*********************

passport.serializeUser(function(user, done) {

      done(null, user);

});

passport.deserializeUser(function(user, done) {

       done(null, user);

});

passport.use(new LocalStrategy(function(username, password, done) {

     process.nextTick(function() {

        UserDetails.findOne({

          'username': username,

        }, function(err, user) {

              if (err) {

                  return done(err);

           }

            if (!user) {

              return done(null, false);

            }

            if (user.password != password) {

                 return done(null, false);

            }

            return done(null, user);

        });

      });

   }));

//*********************This was to create new user*********************

passport.use(new LocalStrategy(function(username, password, done) {

     process.nextTick(function() {

        UserDetails.findOne({

          'username': username,

        }, function(err, user) {

              if (err) {

                  return done(err);

           }

              if (!user) {

                  var newUser = new UserDetails({"username":newUsername, "password":newPassword});

                   newUser.save(function (err, newUser) {
                        if (err) 
                        {
                            return console.error(err);
                        }
                        console.log("Document Saved!");
                   });
               return done(null, true);
            }

        });

      });

   }));

我有login.jade个文件和signup.jade。因此,当我想登录用户时 - 如果用户在数据库中,它将成功验证用户。但是如果用户不存在,它将在数据库中插入新用户。

所以我的问题是我应该在代码中进行哪些更改,以便新用户能够使用注册页面创建帐户,并且现有用户可以使用登录?

由于

0 个答案:

没有答案