2015-08-19 33 views
1

我有一個Meteor項目,用戶需要確認他們的電子郵件地址才能登錄。自動驗證自動創建用戶的電子郵件地址

當Meteor.user集合爲空,我創建了一個默認的管理員用戶:

Meteor.startup(function() { 

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

     Accounts.createUser({ 
      username: 'admin', 
      email: '[email protected]', 
      password: 'admin', 
      profile: { 
       role: 'admin' 
      } 
     }); 

    } 

}); 

即使用戶已經自動創建,用戶仍然需要驗證其電子郵件地址。

如何自動爲此用戶設置驗證爲真?

回答

-2

老兄,你可以添加這樣的事情按照你跟蹤驗證數據庫架構,其搜索的用戶名和分配值(Meteor.users.find({username: 'admin'}).fetch(), ['set your verified to true']);

被用於分配Allaning管理屬性用戶類似的東西:角色。檢查一下,以便更好地理解。

+0

的向下選民:我想知道我的問題的理解和我的回答了問題或偏離主題。 –

0

您需要更新該用戶文檔以將emails[0].verified設置爲true。該帳戶將被驗證,但帳戶包仍然會發送一封電子郵件,要求用戶驗證其電子郵件地址。

+0

如果createUser上有一個標誌表示是否應該發送電子郵件和/或自動驗證電子郵件,那將會很好。作爲解決方法,您可以使用電子郵件地址創建垃圾郵件,然後在將驗證字設置爲true時更正電子郵件地址。 – shawnim

1

我以固定它:

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