Ошибка подтверждения электронной почты Неверный токен Идентификатор 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.
Теперь к моей проблеме
Прекрасно работает в localhost и qa. Протестировано нормально на SSL в localhost тоже.
Сбой при производстве (использует SSL). Генерация токена из WCF и проверка в MVC завершается неудачно.
- Генерация и проверка в одном приложении работает.
Как это 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. Спасибо.