Создам таблицу, которая будет хранить коды подтверждения. В ней будут следующие столбцы:
🖥️ Создам интерфейс и реализую его
Опишу методы работы с этой базой данных через интерфейс.
🔐 Интерфейс сервиса аутентификации
В интерфейс добавлю логику для отправки кода на почту.
Отправляться будет шестизначный код. Генерация кода выглядит так:
📧 Настройка почты
Теперь зайду в mail.ru и создам новую почту. Перейду в настройки безопасности и выберу пункт "Пароли для внешних приложений" . Создам новое внешнее приложение и получу для него пароль. Запишу его себе куда-нибудь.
📦 Подключаю библиотеку System.Net.Mail
Для отправки сообщений необходимо подключить библиотеку System.Net.Mail. Она поможет настроить SMTP-клиент и отправить письмо.
🎯 Генерация кода и запись в БД
1. Параметры SMTP-сервера
Эти переменные необходимы для настройки подключения к SMTP-серверу, который будет отправлять письмо.
smtpServer
smtpPort
Описание : Порт, используемый для подключения к SMTP-серверу. Обычно это:
587 (для TLS/STARTTLS)
465 (для SSL)
Пример : 587 для Gmail или Mail.ru.
smtpUsername
smtpPassword
2. Параметры объекта MailMessage
Класс MailMessage используется для создания самого письма. Вот его основные параметры:
IsBodyHtml = true
From
To
Subject
Body
Описание : Тело письма. Если IsBodyHtml = true, то здесь можно использовать HTML-разметку. В противном случае это будет простой текст. В моем случае я сверстал небольшую форму, записал её в отдельную переменную класса Constaints.
🌐 Добавляю эндпоинт
Создам эндпоинт, который будет отвечать за отправку сообщения. Например:
🧪 Тестирую!
Запускаю сервер и тестирую функционал:
🗄️ Проверяю БД
Убеждаюсь, что запись добавлена в базу данных. Все отлично работает! ✅
🎉 Итог
Теперь пользователи могут подтвердить свою почту с помощью шестизначного кода.