Я использую платформу Identity 2.0 для управления пользователями.
К сожалению, в моем случае активация учетной записи/сброс пароля не может быть выполнена с использованием прямой ссылки, поэтому пользователю придется скопировать код из своей электронной почты и вставьте его на сайт.
Код, сгенерированный методом GenerateEmailConfirmationTokenAsync
по умолчанию для UserManager
, очень длинный, он занимает около 3 строк текста. Я попытался переопределить этот метод, сгенерировав более короткий код, более удобный для пользователя. Это не работает, так как метод ConfirmEmailAsync
всегда возвращает "недопустимый токен" (этот метод вообще не вызывает метод GenerateEmailConfirmationTokenAsync
).
Я не знаю, как хранится код подтверждения, и я предпочитаю использовать механизм хранения Identity Framework по умолчанию, а не хранить его вручную в базе данных.
Поскольку платформа Identity 2.0 имеет закрытый исходный код, я не уверен, что делать дальше. Можно ли генерировать собственные (более короткие) коды подтверждения и какие методы следует переопределить в дополнение к тому, что я уже сделал?