Сервис для того чтобы выполнять какие-то действия при переходе клиента по ссылке. Пока что умеет только восстанавливать пароль и применять промокоды. Ждёт разделения функционала
|
||
---|---|---|
cmd/codeword | ||
deployments | ||
docs | ||
internal | ||
pkg/closer | ||
template | ||
tests | ||
utils | ||
.env | ||
.gitignore | ||
.gitlab-ci.yml | ||
blueprint.yaml | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
README.md |
codeword
Это сервис обмена кодового слова на какие либо действия.
- Обмен кодового слова из ссылки, чтобы получить пару токенов и сменить пароль
- Обмен кодового слова промокода, чтобы создать персональную временную скидку
- Выполнение некоторой последовательности действий по нажатию на ссылку
Вот общая суть цель работы сервиса.
Конкретные сценарии
Восстановление пароля
Для того чтобы восстановить пароль, надо следующее:
- Сгенерировать ключ при помощи шифрования на эллиптических кривых
- По email, переданному в запросе, найти пользователя, для которого будем восстанавливать пароль
- Сложить в базу запись с подписью, айдишником, урлом перенаправления и датой создания
- Отправить на этот email письмо с ссылкой типа https://hub.pena.digital/codeword/restore/{signId}
- В обработчике таких ссылок получить из роута sign
- По ней найти запись, сложенную выше
- Если с момента создания прошло больше 15 минут, то вернуть ошибку
- Иначе, сходить на auth сервис на метод exchange, с которого получить пару токенов, которые вернуть запрашивающему