В настоящее время я работаю над пересмотром процедуры регистрации нашей ATS по найму, сделанной с помощью AngularJS и Meteor, и мне нужно проверить электронную почту нового пользователя во время процедуры регистрации.
Логика будет следующей:
1- Пользователь заполняет форму на странице «Начало работы», и при нажатии на «sumbit» ATS отправляет письмо с подтверждением (я буду использовать sendVerificationEmail от Meteor).
2- После того, как пользователь щелкнет ссылку в электронном письме, он будет перенаправлен на страницу «регистрации», где потребуется дополнительная информация, и процедура регистрации будет завершена.
Как упоминалось выше, я планирую использовать sendVerificationEmail для проверки пользователя, но я также хочу использовать его для отправки обратно идентификатора пользователя.
Из того, что я прочитал в Meteor API, я могу передать дополнительные данные в токен с помощью extraTokenData.
Accounts.sendVerificationEmail(userId, [email], [extraTokenData])
Как теперь объявить объект extraTokenData?
Могу ли я сделать это так: Accounts.sendVerificationEmail(userId, "", { _id: userId })
И как мне получить userId с помощью Accounts.onEmailVerificationLink?
Ваша помощь будет принята с благодарностью.
Что ж, в 1-м пункте я собираюсь использовать Accounts.createUser () для создания нового пользователя, сохранения любых введенных пользователем данных и затем вызова sendVerificationMail (). Я новичок в AngularJS и Meteor.
Я могу определенно понять, как это может пройти. Вот ссылка, которая может помочь: themeteorchef.com/tutorials/…


Электронная почта и дополнительные токены являются необязательными, но если вы хотите их отправить, отправьте их в виде строки.
Если вы хотите отправить дополнительный токен, но без электронных писем, вы можете попробовать использовать Accounts.sendVerificationEmail(userId, undefined, "extra token"), или, если это не сработает, вы можете запросить у пользователя deatil пользователя Meteor.user(). затем позвоните в user.emails[0].address.
Чтобы получить информацию, вы должны получить пользователя по токену, и все данные находятся в пользовательском документе в поле services.password.reset. Посмотрите, как реализован Accounts.generateResetToken https://github.com/meteor/meteor/blob/1e7e56eec8414093cd0c1c70750b894069fc972a/packages/accounts-password/password_server.js#L609.
Как сделать ставку на использование
userId, если он еще не зарегистрирован ?!