_ProgProg_ Ответов: 1

Отключите все предыдущие автоматически passwordresettoken, создаваемый приложением диспетчер идентификационных данных пользователя ASP.NET


Дорогие,

Я обрабатываю пароль сброса пользователя в своем приложении и использую следующий код:

если пользователь нажимает кнопку забыть пароль, система генерирует токен по следующему коду:
var token = manager.GeneratePasswordResetToken(userId);


Сгенерированный токен отправляется пользователю на электронную почту со ссылкой для обновления его нового пароля.

если токен верифицируется с помощью следующего кода:
UserManager.VerifyUserToken(UserId, "ResetPassword", token)


пользователь обновляет свой пароль.
UserManager.ResetPassword(user.Id, model.token, model.Password)


А что, если пользователь сгенерировал более одного токена?
При текущем поведении любой открытый токен отключит другие токены. этим занимается компания ASP.net идентичность.

Я хочу отключить все предыдущие сгенерированные токены при создании нового токена. ЭТО APPLICAPLE?

Что я уже пробовал:

Создайте таблицу для всех токенов и сохраните ее. это работает нормально, но я ищу лучшее решение, автоматически генерируемое ASP.NET идентичность.

1 Ответов

Рейтинг:
0

Dave Kreskowiak

МММ.... Вы только что сказали, что хотите "отключить все предыдущие сгенерированные токены при создании нового токена", но это именно то, что вы сказали, что "текущее поведение" уже делает: "любой открытый токен отключит другие токены".


_ProgProg_

Текущее поведение таково:
Вы можете генерировать много токенов, но когда вы используете один из них для сброса, другие отключаются. Я хочу отключить все предыдущие при создании новых.

Dave Kreskowiak

Зачем тебе это нужно?

_ProgProg_

Теперь я сохраняю все токены в таблице БД, а затем проверяю только последний из них. Но если есть способ получить все токены, используя identity с каждой датой токена, это будет лучше.

Dave Kreskowiak

Как это "лучше" и для кого?