Ошибка подтверждения электронной почты Неверный токен Идентификатор AspNet

У меня есть два веб-приложения, WCF и MVC, которые совместно используют одну базу данных. Я использую Aspnet Identity 2.0

При регистрации нового пользователя он создает токен подтверждения и отправляет электронное письмо пользователю. Создание токена, отправка электронной почты в основном выполняется в WCF, проверка выполняется в приложении MVC.

var code = UserManager.GenerateEmailConfirmationToken(user.Id);
string.Format("{0}/Account/ConfirmEmail?userId={1}&code={2}", WebsiteUrl, 
   HttpUtility.UrlEncode(user.Id), HttpUtility.UrlEncode(codeId));

Я использую тот же провайдер защиты данных

В WCF

var provider = new Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider("MyTestApplication");
UserManager.UserTokenProvider =
                new Microsoft.AspNet.Identity.Owin.DataProtectorTokenProvider<ApplicationUser>(
                    provider.Create("UserToken"))
                {
                    TokenLifespan = TimeSpan.FromDays(7)
                };

В MVC

var dataProtectionProvider = new Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider("MyTestApplication");
manager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(dataProtectionProvider.Create("UserToken"))
                {
                    TokenLifespan = TimeSpan.FromDays(7)
                };
            }

Источник: заставить ASP.NET Identity 2.0 Email подтверждать работу токена для WCF и MVC.

Теперь к моей проблеме

  1. Прекрасно работает в localhost и qa. Протестировано нормально на SSL в localhost тоже.

  2. Сбой при производстве (использует SSL). Генерация токена из WCF и проверка в MVC завершается неудачно.

  3. Генерация и проверка в одном приложении работает.

Как это invalid token произошла ошибка? имеет web.config что-нибудь с этим делать?

1 ответ

Решение

Нашел проблему.

Это были пулы приложений в IIS. Я использовал другой пул приложений для приложений WCF и MVC. Теперь я положил его в тот же пул приложений и работает нормально.

Дополнительная информация: для тех, кто имеет ту же проблему, и мое решение не решает проблему, тогда вы можете попробовать machineKey,

http://gunaatita.com/blog/Invalid-Token-Error-on-Email-Confirmation-in-Aspnet-Identity/1056

PS. Я почти всегда нахожу ответ сам после того, как я отправляю это на stackru. Спасибо.

Другие вопросы по тегам