Asp.net core 如何设置标识';s Cookie数据保护以使用Azure存储数据保护器

Asp.net core 如何设置标识';s Cookie数据保护以使用Azure存储数据保护器,asp.net-core,asp.net-identity,Asp.net Core,Asp.net Identity,设置数据保护和标识时,标识已经需要内置IDataProtectionProvider,而数据保护api不提供此功能 配置服务 IDataProtectionBuilder protectionBuilder = services .AddDataProtection() .PersistKeysToAzureBlobStorage(storageContainer, "keys.xml"); services.AddIdentity<ApplicationUser, Ide

设置数据保护和标识时,标识已经需要内置IDataProtectionProvider,而数据保护api不提供此功能

配置服务

IDataProtectionBuilder protectionBuilder = services
    .AddDataProtection()
    .PersistKeysToAzureBlobStorage(storageContainer, "keys.xml");
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
    options.Cookies.ApplicationCookie.DataProtectionProvider = //NEEDS AN IDataProtectionProvider
}
IDataProtectionBuilder protectionBuilder=服务
.AddDataProtection()
.persistKeysAzureBlobstorage(storageContainer,“keys.xml”);

services.AddIdentity

我发现上面的代码已经起作用了

简单地告诉数据保护在Azure中存储密钥似乎可以自动将身份数据保护器解析为相同的存储

只需要代码,而不需要共享密钥:

services.AddDataProtection()

app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
    AutomaticChallenge = false,
    ExpireTimeSpan = TimeSpan.FromHours(1),
    DataProtectionProvider = app.ApplicationServices.GetService<IDataProtectionProvider>()
});