2017-06-02 6 views
0

Beim Einrichten der Datensicherung und Identität benötigt die Identity bereits einen integrierten IDataProtectionProvider, während die Datenschutz-API dies nicht bietet.So richten Sie Identity Cookie Data Protection für die Verwendung des Azure Storage Data Protectors ein

ConfigureServices

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

Für benutzerdefinierte Cookies kann es später festgelegt werden, in dem Configure:

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

Relevante Dokumente: https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/compatibility/cookie-sharing

Antwort

0

Ich habe bereits, dass der obige Code gefunden funktioniert.

Wenn Sie dem Datenschutz einfach mitteilen, dass die Schlüssel in Azure gespeichert werden sollen, scheint der Identity Data Protector automatisch in denselben Speicher aufgelöst zu werden.

Nur Code benötigt, um ohne Shared-Keys im Vergleich:

services.AddDataProtection().PersistKeysToAzureBlobStorage(tableContainer, "keys.xml");

Verwandte Themen