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