启动Meteor App后无法更改Accounts.Config

时间:2014-08-21 20:53:54

标签: meteor accounts

在我的Meteor应用程序的管理员部分,我想为一个' PowerUser'来调用Account.CreateUser(..)。使用USERNAME_AND_OPTIONAL_EMAIL(或EMAIL_ONLY)然后发送sendVerificationEmail,这很有效......

Accounts.config(sendVerificationEmail:true);

但接下来我还想为一个' LocalUser'调用Account.CreateUser(..)使用USERNAME_ONLY而不是sendVerificationEmail,因为本地用户帐户不需要电子邮件。

Accounts.config(sendVerificationEmail:false);

我的问题是"错误:无法多次设置sendVerificationEmail"当我第二次调用Accounts.config时。

1 个答案:

答案 0 :(得分:2)

我发现配置到USERNAME_AND_OPTIONAL_EMAIL就足够了两种情况:

客户端上的一次性配置:

  

Accounts.ui.config({ passwordSignupFields: 'USERNAME_AND_OPTIONAL_EMAIL' });

服务器上的一次性配置:

Accounts.config({
    sendVerificationEmail: true, 
    forbidClientAccountCreation: true
})

然后创建'LocalUser'的代码提供用户名和初始密码

  var newUserId = Accounts.createUser({
        username: username,
        password: 'pw_for_' + username,
        profile: {
          name: name,
          company: company
        }
      }); 

并向管理员提供这些值以与新的LocalUser进行通信,以便他们可以登录。由于没有电子邮件,因此无需发送验证电子邮件。

然后代码创建PowerUser,提供电子邮件(可选用户名)和无密码:

   var newUserId = Accounts.createUser({
        email: email,
        profile: {
          name: name,
          company: company
        }
      }); 

然后我们发送注册电子邮件,以便PowerUser将收到设置其初始密码的链接:

var enroll = Accounts.sendEnrollmentEmail(newUserId);

就是这样!