考虑这个示例代码:这个示例代码。
文档似乎表明,像这样设置应用程序名称将允许两个服务器知道它们应该使用相同的 cookie 密钥(假设还使用类似于 PersistKeysToDbContext 的东西进行持久化)。
然而,当我查看持久化的密钥时,在文档中并没有看到共享的应用程序名称。
该关键字的“友好名称”似乎是GUID。
“SetApplication”实际上会导致持久化XML中有什么变化?
services.AddDataProtection()
.SetApplicationName("TestingApp");
文档似乎表明,像这样设置应用程序名称将允许两个服务器知道它们应该使用相同的 cookie 密钥(假设还使用类似于 PersistKeysToDbContext 的东西进行持久化)。
然而,当我查看持久化的密钥时,在文档中并没有看到共享的应用程序名称。
<key id="c34df9c6-bf38-49e8-97cf-dda5f8bc141c" version="1">
<creationDate>2021-03-23T21:47:20.4615267Z</creationDate>
<activationDate>2021-03-23T21:47:19.4492298Z</activationDate>
<expirationDate>2021-06-21T21:47:19.4492298Z</expirationDate>
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=3.1.13.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
<descriptor>
<encryption algorithm="AES_256_CBC" />
<validation algorithm="HMACSHA256" />
<masterKey xmlns:p4="http://schemas.asp.net/2015/03/dataProtection" p4:requiresEncryption="true">
<!-- Warning: the key below is in an unencrypted form. -->
<value>eNZoh1a2DEiEi03ae1aklP9dM3z____FAKE_____Pgy8bcVpkOI+q/I9d9iELvy+ptOW54Q==</value>
</masterKey>
</descriptor>
</descriptor>
</key>
该关键字的“友好名称”似乎是GUID。
“SetApplication”实际上会导致持久化XML中有什么变化?