У меня есть веб-приложение с использованием ASP.NET Identity 3.0, в котором я создаю пользователей (вместо того, чтобы регистрироваться пользователями). Я отправляю электронное письмо с подтверждением для проверки их учетных записей электронной почты. Идея состоит в том, что они входят через URL-адрес и, поскольку у них еще нет пароля, они установят начальный пароль и подтвердят свою электронную почту одним махом (я пытаюсь убить двух птиц одним камень как изрядно возможно).Проверка сложности пароля и достоверности токена при подтверждении электронной почты в Identity 3.0
Проблема заключается в том, что я не должен подтвердить электронное письмо с помощью UserManager.ConfirmEmail(), если введенный пароль не является допустимым паролем в соответствии с политикой сложности, поскольку это приведет к истечению срока действия токена. Единственный способ узнать, соответствует ли пароль, - это попытаться установить его с помощью UserManager.AddPassword(), но я не должен пытаться его изменить , если Я знаю, что токен подтверждения электронной почты действителен.
Как проверить, совместим ли пароль, не устанавливая его? Или как я могу проверить, действителен ли токен, не истекая его?
Спасибо. Это сработало для меня. Мой одношаговый процесс работает красиво. Я действительно смотрел на это раньше, но из своего встроенного комментария я думал, что он предназначен для проверки правильности пароля пользователя, не введя его в систему. Я только недавно начал работать с Identity и, хотя это потрясающе, я сталкиваюсь тот факт, что документация встроенная или какая-либо другая. – AbeyMarquez
Кстати, интересно, что второй параметр User в ValidateAsync даже не используется нигде в этом методе. * shrug * – AbeyMarquez
Я согласен с вашим комментарием по документам вокруг Identity ... ужасно! Я пробовал эту же проблему только вчера вечером, пытаясь сделать обновление кода. Рад, что это помогло! –