Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor.loginWithPassword返回错误:密码不正确[403]_Login_Meteor - Fatal编程技术网

Meteor.loginWithPassword返回错误:密码不正确[403]

Meteor.loginWithPassword返回错误:密码不正确[403],login,meteor,Login,Meteor,我想以编程方式添加几个用户,并在我的meteor应用程序中使用其中一个用户登录。我找不到在服务器端添加用户的任何方法;所以我在客户端添加了两个按钮来生成用户并使用其中一个进行登录。我可以创建用户(我在mogodb中看到他们),但我无法登录,出现错误:密码不正确[403]。我错过了什么? 这是client.js代码 Template.hello.events({ 'click #createUsers': function () { console.log("Creating users

我想以编程方式添加几个用户,并在我的meteor应用程序中使用其中一个用户登录。我找不到在服务器端添加用户的任何方法;所以我在客户端添加了两个按钮来生成用户并使用其中一个进行登录。我可以创建用户(我在mogodb中看到他们),但我无法登录,出现错误:密码不正确[403]。我错过了什么? 这是client.js代码

Template.hello.events({
 'click #createUsers': function () {
    console.log("Creating users...");
    var users = [
       { email: "dgra@gmail.com", username: "gra", name: "gra", roles: ['admin'] }
    ];
    _.each(users, function (user) {
        Accounts.createUser({
            email: user.email,
            password: "admin",
            profile: { username: user.username },
            profile: { name: user.name },
            roles: user.roles
        });
    });
},

 'click #logIn': function () {
     console.log("logIn gra...");
    Meteor.loginWithPassword("dgra@gmail.com", "admin", function (err) {
        if (err) {
            console.log("loginError: " + err);
        }
    });
 }
});
我找不到任何在服务器端添加用户的方法

您可以从服务器添加用户。正如前面指出的,
Accounts.createUser
可以在任何地方运行。以下是一个工作示例:

server/initialize.js 有几点:

  • 只能添加一个纵断面对象
  • Accounts.createUser
    只接受文档中显示的参数,因此不能添加任意对象
  • 如果您正在尝试使用,则该示例将显示在创建帐户后添加的角色
  • 在上面的代码中,我只在数据库中没有用户时添加用户。这便于测试,因为用户将在流星重置后自动插入(无需按下按钮)

  • 创建帐户时,请尝试将密码长度至少设置为6个字符。@密码越长越好,但
    帐户。createUser
    目前没有密码长度要求。谢谢,它可以工作。我没有注意到有关帐号的文档“Client”。CurtAuthor()只用于回调。如果您觉得这个答案有用,请考虑将它标记为。
    var insertUser = function() {
      var user = {
        email: 'dgra@gmail.com',
        username: 'gra',
        name: 'gra'
      };
    
      Accounts.createUser({
        username: user.username,
        email: user.email,
        password: 'admin',
        profile: {
          name: user.name
        }
      });
    };
    
    Meteor.startup(function() {
      if (Meteor.users.find().count() === 0) {
        insertUser();
      }
    });