Установите тайм-аут для подтверждения ссылки, используя Timex
Я отправляю ссылку для подтверждения по электронной почте после сохранения в моей базе данных. Я хочу, чтобы у ссылки был тайм-аут, т. Е. Через определенное время она будет считаться недействительной. Как мне сделать это с помощью Timex? Я не хочу использовать другие пакеты аутентификации, такие как Coherence.
1 ответ
Решение
Вам может вообще не понадобиться Timex, теперь, если ваша БД использует наивный часовой пояс, вы можете использовать
# Assuming the link will expire in an hour (3600 seconds)
valid_till = NaiveDateTime.add(NaiveDateTime.utc_now(), 3600)
# Sends the verification mail
...
# Save the valid_till somewhere in the database and when user tries to use the link to verify themselves compare the current timestamp against the stored valid_till
if NaiveDateTime.utc_now > stored_valid_till, do: false