Куда сохранить код подтверждения, отправленный пользователю для регистрации
Я как-то новичок в Django, и я впервые реализую форму регистрации с проверкой смс.
Я получаю номер мобильного телефона пользователя, генерирую случайное число и отправляю ему; Я хочу, чтобы срок действия сгенерированного кода истек через 30 минут, и после этого они мне не нужны, поэтому кажется, что не стоит сохранять их в БД, а после истечения срока их действия удалять.
Интересно, может ли кто-нибудь помочь мне с вопросом: "Каков наилучший способ реализовать это?"
Огромное спасибо заранее
1 ответ
Решение
Сохранить их в Redis. Клавиши Redis могут иметь TTL(Time-To-Live), клавиши с TTL удаляются автоматически после определенного периода времени.
import redis
r = redis.StrictRedis()
# create pin
r.set("<phone-number>", <sms-pin>)
r.expire("<phone-number>", 1800) # 1800 seconds = 1/2 hour
# get pin
if r.exists("<phone-number>"):
pin=r.get("<phone-number>")
... validate pin
else:
... invalid pin
Другие документы на http://agiliq.com/blog/2015/03/getting-started-with-redis-py/