2015-12-10 128 views
1

使用流星,是否可以在服務器上調用Accounts.verifyEmail(token)?我想驗證一個用戶的電子郵件而不登錄他們。我已經創建了一個方法並在客戶端上調用它,就像我上面寫的一樣,但是它失敗了。流星調用服務器上的Accounts.verifyEmail?

如果有一種方法可以從客戶端完成此操作,我也有興趣知道這一點。

非常感謝提前。

回答

1

如果你不希望你的用戶在提交他們的令牌後不必重寫流星的方法而是登錄,而不是在你的路由中調用Accounts.verifyEmail(token),你可以在服務器上調用一個方法來對付給定的令牌services.email.verificationTokens項目。如果其中一個匹配,則可以更新附加電子郵件的verified字段,然後從services.email.verificationTokens中刪除令牌字段。

你應該得到:

verificationTokens: [ 
{ 
    token: '523uL7XUvlMji-yv48ErEAe8Fq2VvAuMf_oY8lJSPfJ', 
    address: '[email protected]', 
    when: Thu Dec 10 2015 19:00:52 GMT+0100 (CET) 
} 
] 

爲空數組(給你的只有一個令牌驗證)。

verificationTokens: [] 
+0

感謝@koOstik所以查詢應該是沿着Meteor.users.find({'services.email.verificationTokens':token})的東西嗎? – mtwallet

+0

對不起,我直到現在纔看到您的評論。是的,這應該是這樣的。如果需要,我可以編輯更多細節。 – ko0stik

+0

它的工作,感謝您的幫助 – mtwallet