ASP.NET标识中不使用计算机密钥的DpapiDataProtectionProvider的替代方案



我正在寻找DpapiDataProtectionProvider的替代方案,因为它使用机器密钥,并且用户请求从其他应用程序而不是主MVC产品重置密码,令牌总是无效的。

我有一个ASP.net MVC应用程序和一个API应用程序。他们都使用相同的令牌提供商密码,如下所示:

var provider = new DpapiDataProtectionProvider("MyWeb");
appManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(provider.Create("MyWebToken"));

DpapiDataProtectionProvider依赖于机器密钥,因此当使用电子邮件中的链接时,令牌无效。我可以使用什么替代方案?

感谢

对于有同样问题的人,我最终使用了MachineKeyProtectionProvider,就像这里提供的这个解决方案一样,我在startUp:中包含了这一行

app.SetDataProtectionProvider(new MachineKeyProtectionProvider());

我在web.config文件中添加了机器密钥。

相关内容

  • 没有找到相关文章

最新更新