Como distribuir chaves de proteção de dados com um aplicativo Web .NET Core?

Não sei ao certo como as chaves de proteção de dados funcionam em um ambiente de web farm. Não tenho um local comum que todos os servidores possam usar (e não quero lidar com permissões). Portanto, eu gostaria de gerar uma chave e distribuí-la com o aplicativo Web.

Estou fazendo o seguinte, mas não tenho certeza se isso está correto. Então, eu gero um arquivo de chave localmente no meu pc de desenvolvimento com:

var specialFolder = Environment.SpecialFolder.CommonApplicationData;
var appDataPath = Path.Combine(
     Environment.GetFolderPath(specialFolder),
    "company", 
    "product"
);
services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(appDataPath));

Isso cria umkey-some-guid.xml Arquivo. Em seguida, distribuo esse arquivo com meu aplicativo Web.

Agora, quando executo meu aplicativo Web, nos serviços Startup.Configure, copie esse arquivo para oappDataPath local (definido acima) e chameservices.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(appDataPath));.

Isso vai funcionar? Ou estou fundamentalmente faltando alguma coisa?

questionAnswers(1)

yourAnswerToTheQuestion