我有兩個Web應用程序,WCF和MVC共享相同的數據庫。我正在使用Aspnet身份識別2.0電子郵件確認錯誤無效令牌AspNet身份
註冊新用戶時,會創建確認令牌並向用戶發送電子郵件。創建令牌,發送電子郵件大多是在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)
};
}
來源:Make ASP.NET Identity 2.0 Email confirm token work for WCF and MVC
現在我的問題
工作正常,在本地主機和質量保證。本地主機上的SSL也測試過。
生產失敗(使用SSL)。從WCF生成令牌並在MVC中驗證失敗。
- 在同一應用程序中生成和驗證作品。
這是怎麼發生的invalid token
錯誤?與web.config
有什麼關係?
謝謝! 'HttpUtility.UrlEncode'爲我做了訣竅,已經配置了machineKey。對於其他關於machineKey,這也是一個很好的答案,幫助我生成:http://stackoverflow.com/questions/23455579/generating-reset-password-token-does-not-work-in-azure-website/23661872 #23661872 – CularBytes