Время истечения срока действия на django пароль reset токен

Я использую встроенный пароль reset функции Django, который отправляет пользователю ссылку на пароль reset. Есть ли возможность в Django установить время истечения срока действия ссылки на 6 часов, после чего ссылка станет недействительной, и пользователю потребуется снова запросить восстановление пароля.

Ответ 1

Если вы используете встроенную функцию паролей reset Django, вы можете использовать настройку PASSWORD_RESET_TIMEOUT_DAYS.

Пример: если пользователь использует пароль reset, который был создан 2 дня назад, а у вас есть PASSWORD_RESET_TIMEOUT_DAYS=1 в настройках вашего проекта, ссылка будет недействительной, и пользователь не сможет продолжить.

Дополнительная информация здесь: https://docs.djangoproject.com/en/1.11/ref/settings/#password-reset-timeout-days

Ответ 2

Вы можете создать зашифрованный токен, например. Base64 с именем пользователя, последним именем пользователя и меткой времени, в которой был создан токен. Вы можете сгенерировать контрольную сумму и добавить ее в токен или сохранить в своем db. Затем, дешифруя токен, вы можете получить все нужные данные.