2015-12-10 2 views
1

Используя Meteor, можно ли позвонить Accounts.verifyEmail(token) на сервер? Я хочу проверить электронную почту пользователей, не введя их в систему. Я создал метод и вызвал его на клиенте, как я написал выше, но он терпит неудачу.Meteor call Accounts.verifyEmail на сервере?

Если есть способ сделать это от клиента, мне было бы интересно узнать это также.

Большое спасибо заранее.

ответ

1

Если вы не хотите, чтобы ваши пользователи вошли в систему после отправки своего токена без необходимости переопределять методы Meteor, вместо того, чтобы звонить на ваш маршрут по номеру 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': токенов})? – mtwallet

+0

Жаль, что я не видел твой комментарий до сих пор. Да, это должно быть что-то вроде этого. Я могу отредактировать с более подробной информацией, если вам нужно. – ko0stik

+0

Он отлично поработал за помощью – mtwallet

Смежные вопросы