До сих пор я не видел такого примера, но каков ваш второй вопрос? Приведенный вами пример очень хорошо показывает, как отправить электронное письмо. Другой вариант - использовать этот пакет:
https://github.com/Marak/node_mailer
Что также хорошо документировано о том, как отправлять электронные письма.
Поэтому я предполагаю, что вы хотите знать, как настроить систему регистрации. Один из способов сделать это - создать таблицу регистрации пользователей, в которой есть столбцы e-mail
и token
. E-mail
очевидно, token
- это случайно сгенерированная строка (например, с помощью метода crypto.randomBytes
узла), которая будет отправлена как часть ссылки пользователю. После входа по ссылке вы ищите в базе данных этот токен и, если он найден, вы продолжаете регистрацию.
Две вещи, на которые следует обратить внимание: при создании токена убедитесь, что он уже не существует в БД. Второе: рекомендуется использовать столбец valid_until
для удаления токенов старше нескольких часов.
Обновление:
К сожалению, экспорт base64 узла не является URL-безопасным. Таким образом, это самый простой способ получить безопасный токен, который я нашел:
require('crypto').randomBytes(48, function(ex, buf) {
token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});
Возможно, кто-то найдет лучшее решение.