ASP.NET Core 3.1 — IdentityServer4 — App Settings On Azure (Parte 13)

Na Parte 12 eu mostrei as premissas do Azure e como configurar o certificado digital. Agora vamos ver como nossa aplicação do IdentityServer4 vai usar essas configurações.

Program.cs

Isso significa que para cada ambiente (Development, Staging e Production) podemos ter configurações diferentes.
Por padrão ao criar um projeto ASP.NET Core, a variável de ambiente é sempre Development, você pode conferir este detalhe nas propriedades do projeto conforme imagem a seguir.

No Azure

Nosso arquivo que possui as configurações de produção para esta série, até este momento está configurado conforme a seguir.

Para ler as configurações, criei a classe AppSettings conforme a seguir.

No método ConfigureServices no Startup.cs incluí a linha:

services.Configure(_configuration.GetSection(nameof(AppSettings)));

O método Configure acima, realiza dois trabalhos:

services.AddOptions()

services.AddSingleton da classe AppSettings

Com isso, podemos pegar os dados do appsettings.<>.json através de injeção de dependência ou usando Service Locator. Vou falar sobre o Service Locator mais abaixo.

Boas práticas

Extension Methods

Premissas

  1. O método precisa ser estático;
  2. Para que o método seja exibido, o primeiro parâmetro deve ser precedido do this, depois a classe ou interface e o nome do parâmetro.

Método de Extensão para Certificado Digital

Service Locator

var appSettings = services.BuildServiceProvider().GetService>().CurrentValue;

Refactoring

Você pode conferir tudo isso no Github.

Continua em ASP.NET Core — Console — App Service Editor On Azure (Parte 14).

Originally published at http://alextochetto.com on May 19, 2020.