Установите тайм-аут для подтверждения ссылки, используя 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
Другие вопросы по тегам