Я пытаюсь создать веб-сервис REST API. У меня вопрос о том, как обрабатывать электронную почту активации. В настоящее время служба API обрабатывает отправку электронной почты.
Вот поток, который у меня есть на данный момент:
- Пользователь регистрируется через клиентское приложение
- Клиентские приложения POST для службы API
- Служба API проверяет и добавляет пользователя в базу данных
- Служба API отправляет пользователю ссылку активации
- Пользователь нажимает на ссылку активации, которая приведет их на страницу активации клиентского приложения.
- Страница активации приложения клиентского приложения POST для службы API
- Готово
Здесь я вижу проблему:
Поскольку служба API в настоящее время отправляет электронное письмо, клиентское приложение не контролирует внешний вид электронной почты. И в письме могут быть URL-адреса, которые должны указывать на клиентское приложение.
Другой вариант - вместо службы API, отправляющей электронное письмо активации, он вернет ключ активации в клиентское приложение. Затем клиентское приложение сможет отправить пользователю активацию электронной почты.
Две проблемы, которые я вижу с помощью этой стратегии:
- Безопасность, поскольку ключ активации теперь открыт для клиентского приложения.
- Не DRY, поскольку каждый клиент может нести ответственность за отправку электронной почты.
Как вы думаете, лучший способ справиться с этим?
Я хотел бы разрешить клиентскому приложению настраивать их электронную почту, а также включать URL-адреса, относящиеся к клиенту (страница активации).