Когда пользователь нажимает ссылку Подтвердить электронную почту в полученном им электронном письме, URL направляет пользователя методу ConfirmEmailAsync в Контроллере учетных записей. Затем этот метод возвращает результат вызова поставщику токенов электронной почты.Aspnet Core 1.0 Identity User Manager ConfirmEmailAsync возвращает InvalidToken
var result = await _userManager.ConfirmEmailAsync(user, code);
Я захватил сгенерированный маркер электронной почты, когда пользователь регистрируется и маркер, который передается в переменной коде выше, и они идентичны.
Я пробовал кодировку и декодирование Base64 без каких-либо успехов, хотя я считаю, что это делается автоматически asp-net-core-identity-token-providers.
Любые идеи?
Во время регистрации я сохраняю пользователя на db. ЕСЛИ это успешно, создается токен электронной почты и электронной почты. Затем отправляется электронное письмо. Никакие другие действия не выполняются для пользователя. – Greg
Фактически вы на 100% правильны. Я добавлял пользователя к роли ПОСЛЕ отправки электронной почты и изменения штампа безопасности. Я исправил это, и теперь все работает так, как ожидалось. Большое спасибо!! – Greg
@Greg Счастливые помочь. :) –