ASP.NET 身份中不使用机器密钥的 DpapiDataProtectionProvider 的替代方案
Alternative to DpapiDataProtectionProvider in ASP.NET Identity which does not use Machine Key
我正在寻找 DpapiDataProtectionProvider 的替代品,因为它使用机器密钥并且用户请求从其他应用程序而不是主要 MVC 产品重置密码,令牌始终无效。
我有一个 ASP.net MVC 应用程序和一个 API 应用程序。他们都使用相同的令牌提供者密码,如下所示:
var provider = new DpapiDataProtectionProvider("MyWeb");
appManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(provider.Create("MyWebToken"));
DpapiDataProtectionProvider 依赖于机器密钥,因此当使用电子邮件中的 link 时令牌无效。我可以使用什么替代方案?
谢谢
对于遇到同样问题的任何人,我最终使用了 MachineKeyProtectionProvider,就像这个提供的解决方案 并且我在启动中包含了这一行:
app.SetDataProtectionProvider(new MachineKeyProtectionProvider());
并且我在 web.config 文件中添加了机器密钥。
我正在寻找 DpapiDataProtectionProvider 的替代品,因为它使用机器密钥并且用户请求从其他应用程序而不是主要 MVC 产品重置密码,令牌始终无效。
我有一个 ASP.net MVC 应用程序和一个 API 应用程序。他们都使用相同的令牌提供者密码,如下所示:
var provider = new DpapiDataProtectionProvider("MyWeb");
appManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(provider.Create("MyWebToken"));
DpapiDataProtectionProvider 依赖于机器密钥,因此当使用电子邮件中的 link 时令牌无效。我可以使用什么替代方案?
谢谢
对于遇到同样问题的任何人,我最终使用了 MachineKeyProtectionProvider,就像这个提供的解决方案
app.SetDataProtectionProvider(new MachineKeyProtectionProvider());
并且我在 web.config 文件中添加了机器密钥。