Автор оригинала: Audax Anchirinah.
Этот учебник даст вам руководство на высоком уровне о том, как получить пользователей вашей веб-приложения Nodejs/Express, получить их адрес электронной почты для возможных предсказуемых будущих вхождений, на которых пользователи могут управлять своими учетными записями или восстановить свои пароли, а также убедиться, что они не Роботы с поддельными электронными письмами.
ОБЩИЙ ОБЗОР
Для этого учебника MySQL используется в качестве базы данных и SendGrid в качестве нашей библиотеки для отправки электронных писем. В основном для достижения проверки электронной почты на самом деле является простым простым процессом выполнения следующего: пользователь подписывает на приложение. Пользователь не может войти в систему в приложение, пока их электронная почта не будет подтверждена. Пользователь получает электронную почту с ссылкой проверки, которая содержит токен. Пользователь нажимает на ссылку для проверки, чтобы перенаправить в приложение, в котором используется токен для проверки их.
Таким образом, это рабочий процесс, который мы будем следить за этим руководством: генерирующие модели (т. Е. Пользователь и verificationToken) с секвенированием определяющих контроллеров для обработки операций (т. Е. Подпись, отправка проверки электронной почты с использованием SendGrid). Добавьте проверку маршрута.
Создание моделей
- Создание модели пользователя Будьте здесь с нашей моделью пользователя состоит в том, что мы добавим булевую колонну, подкрепленную, чтобы рассказать о том, что они были проверены из тех, которые нет. Наша используемая колонна будет иметь значение по умолчанию false. Использование Sequelize-CLI, мы генерируем пользовательскую модель
sequelize model:generate --name User --attributes firstName:string,lastName:string,email:string, password:string,isVerified:boolean
Так что в каталоге ваших моделей вы найдете user.js
Файл, но еще одно оговорку, чтобы помнить о том, что есть отношение к одному на один между моделью пользователя и VericationToken, поэтому в нашей ассоциированной функции мы добавим фрагмент, чтобы указать эти отношения.
alt.
Это также генерирует файл миграции для нас
alt.
Теперь мы генерируем другую модель для обработки наших токенов проверки, и здесь мы представляем ограничение внешнего ключа, UserID
Для ссылки на таблицу пользователя
sequelize model:generate --name VericationToken --attributes userId:integer,token:string
alt.
В нашем файле миграции мы укажем, что столбец UserID
В таблице VericationToken отправляются на ссылку на таблицу пользователей.
Также важно отметить, что мы собираемся добавить запрос для создания события, Экспирус
По линии 32, это удалит токены, которые являются днем.
alt.
Определение контроллеров для обработки операций
Прежде чем мы приступим к созданию наших контроллеров, нам нужно создать функцию помощника для отправки наших электронных писем с помощью SendGrid. Во-первых, зарегистрируйтесь на SENDGRID и приобретите свой ключ API и храните в качестве переменной ENV Process.env.sendgridapikey
Отказ
alt.
Теперь мы создаем наш контроллер регистрации, пакет под названием Крипто-случайная строка
Будут добавлять, чтобы позволить нам генерировать случайные строки для нашего токена.
alt.
Теперь мы создаем контроллер проверки,
alt.
Создание маршрутов
Теперь добавляем следующие маршруты,
alt.
ЗАКЛЮЧЕНИЕ
Это все для нашего руководства высокого уровня по общему концепции того, как реализовать проверку электронной почты с помощью SendGrid и Sequelize ORM. Кроме того, имейте в виду, основываясь на ваших функциях веб-приложений, ваша реализация может отличаться. Не стесняйтесь оставить отзыв в комментариях или добраться до меня на Twitter Отказ
ВАШЕ ЗДОРОВЬЕ!!