【问题标题】:Email Confirmation Error Invalid Token AspNet Identity电子邮件确认错误 无效的令牌 AspNet 身份
【发布时间】:2015-08-17 09:21:30
【问题描述】:

我有两个 Web 应用程序,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)
                };
            }

来源:Make ASP.NET Identity 2.0 Email confirm token work for WCF and MVC

现在是我的问题

  1. 在 localhost 和 qa 中工作正常。在 localhost 中的 SSL 上也测试正常。

  2. 生产失败(使用 SSL)。从 WCF 生成令牌并在 MVC 中验证失败。

  3. 在同一个应用程序中生成和验证工作。

invalid token 错误是如何发生的? web.config 和它有什么关系吗?

【问题讨论】:

    标签: c# asp.net-mvc wcf asp.net-identity-2 confirmation-email


    【解决方案1】:

    找到问题了。

    这是 IIS 中的应用程序池。我为 WCF 和 MVC 应用程序使用不同的应用程序池。现在我将它放在同一个应用程序池中并且工作正常。

    附加信息:对于那些有同样问题而我的解决方案不能解决问题的人,那么您可能想尝试machineKey

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

    附言。在我将它发布到 stackoverflow 之后,我几乎总是自己找到答案。谢谢。

    【讨论】:

    • 谢谢! HttpUtility.UrlEncode 对我有用,已经配置了 machineKey。对于其他关于 machineKey 的人,这也是一个很好的答案,帮助我生成:stackoverflow.com/questions/23455579/…
    猜你喜欢
    • 2015-02-16
    • 2015-12-13
    • 2018-03-19
    • 2015-02-15
    • 2017-10-29
    • 2015-10-08
    • 2016-06-07
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多