【问题标题】:Auto verify email address for autocreated users自动验证自动创建用户的电子邮件地址
【发布时间】:2015-08-19 10:23:01
【问题描述】:

我有一个 Meteor 项目,用户需要在登录之前确认他们的电子邮件地址。

当 Meteor.user 集合为空时,我创建一个默认管理员用户:

Meteor.startup(function () {

  if (Meteor.users.find().count() === 0 ) {

      Accounts.createUser({
          username: 'admin',
          email: 'me@domain.com',
          password: 'admin',
          profile: {
              role: 'admin'
          }
      });

  }

});

即使用户是自动创建的,用户仍然需要验证其电子邮件地址。

如何自动为该用户设置已验证为真?

【问题讨论】:

    标签: meteor meteor-accounts


    【解决方案1】:

    我已通过以下方式修复它:

            Meteor.users.update(user._id, { $set:
              {
                "emails.0.verified": true
              }
            });
    

    【讨论】:

      【解决方案2】:

      您需要更新该用户文档以将emails[0].verified 设置为true。该帐户将被验证,但帐户包仍会发送一封电子邮件,要求用户验证其电子邮件地址。

      【讨论】:

      • 如果 createUser 上有一个标志指示是否应该发送电子邮件和/或自动验证电子邮件,那就太好了。作为一种解决方法,您可以创建一个电子邮件地址进入垃圾箱的用户,然后在您将验证设置为 true 时更正电子邮件。
      【解决方案3】:

      老兄,您可以添加类似这样的内容,用于搜索用户名并根据您遵循的数据库架构分配值以进行验证(Meteor.users.find({username: 'admin'}).fetch(), ['set your verified to true']);

      类似的东西用于在 Allaning:Roles 中为用户分配管理属性。检查一下以更好地理解。

      【讨论】:

      • 致反对者:我想知道我对问题的理解或我的答案在哪里出错或偏离主题。
      猜你喜欢
      • 2011-06-04
      • 2012-07-14
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 2015-11-24
      • 2018-04-21
      • 2018-01-26
      • 2016-12-17
      相关资源
      最近更新 更多