Каков стандарт в отношении истечения срока действия ключей сброса пароля, отправленных по электронной почте?
Мое приложение создает 30-символьный буквенно-цифровой ключ, который добавляется к URL-адресу: http://site.com/reset/keygoeshere
Ключ удаляется из учетной записи пользователя после сброса пароля.
Этот вопрос говорит об истечении срока действия ключей, но другой пользователь упомянул, что если учетная запись электронной почты скомпрометирована, то они, очевидно, могут легко запросить новый ключ сброса.
Я предполагаю, что основная потенциальная уязвимость этого подхода заключается в том, что кто-то может попытаться взломать ключ сброса, и хотя он не будет знать, какой учетной записи принадлежит ключ, он все равно может изменить чей-то пароль.
Например, я просто щелкнул ссылку сброса с Facebook, которая была отправлена 3 дня назад, и она все еще работала.
Необходимо ли истечение срока действия ключей сброса пароля с точки зрения стандартной практики? Если да, то как долго ключ должен оставаться «свежим»?