Метеор отправитьПодтверждениеЭлектронная почта

В настоящее время я работаю над пересмотром процедуры регистрации нашей 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»?

ваша помощь будет принята с благодарностью.


person Nicolas Strybol    schedule 28.09.2018    source источник
comment
Как поставить на использование userId, если он еще не зарегистрирован?!   -  person Harry Adel    schedule 06.10.2018
comment
хорошо, в 1-м пункте я собираюсь использовать «Accounts.createUser()», чтобы создать нового пользователя, сохранить любые введенные пользователем данные, а затем вызвать «sendVerificationMail()». Я новичок в AngularJS и Meteor.   -  person Nicolas Strybol    schedule 08.10.2018
comment
Я могу определенно, как это может пойти. Вот ссылка, которая может помочь: themeteorchef. ком/туториалы/   -  person Harry Adel    schedule 09.10.2018


Ответы (2)


Электронная почта и дополнительные токены являются необязательными, но если вы хотите отправить их, отправьте их в виде строки. Если вы хотите отправить дополнительный токен, но не хотите отправлять электронные письма, вы можете попробовать использовать Accounts.sendVerificationEmail(userId, undefined, "extra token") или, если это не сработает, вы можете запросить пользователя deatil пользователя Meteor.user(). затем позвоните user.emails[0].address.

person Hola Soy Edu Feliz Navidad    schedule 21.12.2019

Чтобы получить информацию, вы должны получить пользователя по токену, и все данные находятся в пользовательском документе в поле services.password.reset. Посмотрите здесь, как реализован Accounts.generateResetToken https://github.com/meteor/meteor/blob/1e7e56eec8414093cd0c1c70750b894069fc972a/packages/accounts-password/password_server.js#L609.

person pociej    schedule 13.11.2020