如何在Meteor中创建用户服务器端?

Ste*_*non 14 meteor

在新的Meteor auth分支中,如何创建用户服务器端?

我看到如何通过调用来创建客户端

[Client] Meteor.createUser(options, extra, callback)
Run Code Online (Sandbox Code Playgroud)

但是假设我想在启动时创建一个Meteor用户集合记录?

例如,启动/引导应用程序期间的管理员帐户?

谢谢Steeve

小智 21

在较新版本的流星使用

  Accounts.createUser({
                            username: username,
                            email : email,
                            password : password,
                            profile  : {
                                //publicly visible fields like firstname goes here
                            }

    });
Run Code Online (Sandbox Code Playgroud)

注意:密码哈希是自动生成的

在旧版本的流星使用上:

1 -注意:你有需要的套餐设置?

  • mrt添加帐户基础
  • mrt添加帐户密码

在某些版本的流星上你不能像Steeve建议的那样调用SRP密码盐生成器,所以试试这个:

2 - 做Meteor.users.insert()

例如

 var newUserId = 
 Meteor.users.insert({
         emails: ['peter@jones.com'],
         profile  : { fullname : 'peter' }
 });
Run Code Online (Sandbox Code Playgroud)

注意:用户必须拥有用户名或电子邮件地址.我在这个例子中用过电子邮件.

3 - 最后为新创建的帐户设置密码.

      Accounts.setPassword(newUserId, 'newPassword');
      


Ste*_*non 8

目前,这已经在流星核心谷歌小组中提出过.

Meteor.users.insert({username: 'foo', emails: ['bar@example.com'], name: 'baz', services:     {password: {srp: Meteor._srp.generateVerifier('password')}}});
Run Code Online (Sandbox Code Playgroud)

有用.我在启动/启动带中测试了它.

我不认为这是永久或长期的答案,因为我相信auth分支仍然处于很大程度的变化,我想Meteor背后的团队将为它提供某种功能.

因此,不要将此视为长期答案.

吊杆


Qic*_*ong 8

可能现在这是一个众所周知的事实,但是为了完成这个 - 有一个新的服务器API用于在auth分支上执行此操作.来自auth上文档:

"[服务器] Meteor.createUser(选项,额外) - 创建用户并向该用户发送一封电子邮件,其中包含选择其初始密码并完成帐户注册的链接

选项哈希包含:电子邮件(必填),用户名(可选)额外:用户对象的额外字段(例如名称等)."

请注意,API可能会发生变化,因为它尚未在主分支上.

  • Meteor现在支持在服务器上使用"createUser".详细信息:http://docs.meteor.com/#accounts_createuser (6认同)