在服务器之间共享 DPAPI 密钥?

Share DPAPI keys between servers?

我在 .NET 4.5.1 上有一个 ASP.NET WebForms 应用程序 运行,并且一直在使用基于 cookie 的身份验证和 FormsAuthentication API(不使用身份 API,但是;相反,我管理用户和会话 "manually")。此应用程序在多个服务器上运行,为了使 cookie 在所有服务器上工作,我在 web.config-file.

中将所有服务器的机器密钥设置为相同的值

为了能够与 .NET Core 1.0 上的 MVC 应用程序 运行 共享身份验证 cookie,我正在从 FormsAuthentication API 转向基于 Katana/OWIN 的 cookie 身份验证.虽然我已经按照 https://github.com/blowdart/idunno.CookieSharing I am not sure how to share keys between servers. All examples setup cookie based authentication by pointing to a path containing the key files. If I were able to generate keys manually and copy these to all servers this would work. I don't know how to generate these key files, however (and the docs 中的步骤在一台机器上进行了 cookie 的身份验证和共享,但似乎没有提到如何做到这一点)。将关键文件放在共享文件夹中,如一些示例所示,是不可能的,因为服务器位于完全独立的网络上(这可能会在未来改变,但现在不会)。

有没有办法通过我的设置在多个服务器之间共享密钥(即不可能共享文件夹)?

大卫,现在看来你是对的,很难跳出框框。 1.1 的记录计划可以轻松访问 KeyVault 和 AzureStorage。现在,我认为您可能必须实现 KeyManager(很可能是 IXMLRepository)的部分内容,请参阅:docs.asp.net/en/latest/security/data-protection/extensibilit‌ y/… 我很感兴趣为什么不同域上的机器需要共享密钥