2023-12-08 20:32:36 +00:00
|
|
|
|
# codeword
|
|
|
|
|
|
2023-12-08 21:00:40 +00:00
|
|
|
|
Это сервис обмена кодового слова на какие либо действия.
|
2023-12-08 20:32:36 +00:00
|
|
|
|
|
2023-12-08 21:00:40 +00:00
|
|
|
|
- Обмен кодового слова из ссылки, чтобы получить пару токенов и сменить пароль
|
|
|
|
|
- Обмен кодового слова промокода, чтобы создать персональную временную скидку
|
|
|
|
|
- Выполнение некоторой последовательности действий по нажатию на ссылку
|
2023-12-08 20:32:36 +00:00
|
|
|
|
|
2023-12-08 21:00:40 +00:00
|
|
|
|
Вот общая суть цель работы сервиса.
|
2023-12-08 20:32:36 +00:00
|
|
|
|
|
2023-12-08 21:00:40 +00:00
|
|
|
|
# Конкретные сценарии
|
2023-12-08 20:32:36 +00:00
|
|
|
|
|
2023-12-08 21:00:40 +00:00
|
|
|
|
## Восстановление пароля
|
2023-12-08 20:32:36 +00:00
|
|
|
|
|
2023-12-08 21:00:40 +00:00
|
|
|
|
Для того чтобы восстановить пароль, надо следующее:
|
2023-12-08 20:32:36 +00:00
|
|
|
|
|
2023-12-08 21:00:40 +00:00
|
|
|
|
- Сгенерировать ключ при помощи шифрования на эллиптических кривых
|
|
|
|
|
- По email, переданному в запросе, найти пользователя, для которого будем восстанавливать пароль
|
|
|
|
|
- Сложить в базу запись с подписью, айдишником, урлом перенаправления и датой создания
|
|
|
|
|
- Отправить на этот email письмо с ссылкой типа https://hub.pena.digital/codeword/restore/{signId}
|
|
|
|
|
- В обработчике таких ссылок получить из роута sign
|
|
|
|
|
- По ней найти запись, сложенную выше
|
|
|
|
|
- Если с момента создания прошло больше 15 минут, то вернуть ошибку
|
|
|
|
|
- Иначе, сходить на auth сервис на метод exchange, с которого получить пару токенов, которые вернуть запрашивающему
|
2023-12-08 20:32:36 +00:00
|
|
|
|
|