по веб разработке.
Когда проходит регистрация в каком-то сервисе, нужно подтвердить указанную почту, введя 6-значный код из письма. Как я понимаю, нужно временно хранить код и Email отправителя в базе, далее, он либо сам удаляется через 5 минут, либо пользователь проходит проверку, и тогда код удаляется.
Тут и возникают вопросы:
1. В какой базе хранить этот самый код. С одной стороны было бы неплохо хранить его в Redis, там можно и таймер на удаление поставить и в общем сам по себе выглядит заманчиво, но с другой стороны сам Redis не часто используется для хранения такого рода информации (Да и сам ChatGPT говорит что это не лучшая идея).
2. При подтверждении пользователю выдается токен. Этот самый токен нужен для восстановления пароля и для регистрации, после этого он удаляется. И тут вопрос. Нужно ли разделять типы токенов (отдельный токен для регистрации, для восстановления) или можно допустить то, что после генерации токена для восстановления пароля его можно использовать не по назначению в какой нибудь функции приложения которая требует такой же токен?
заводить редиску ради одной сущности? ну такое, лучше в бд и чистить раз в сутки по токенам - привяжи конкретный токен к конкретной операции и все
Обсуждают сегодня