Tutorial: Preparar um aplicativo para autenticação

Notutorial anterior, você registrou um aplicativo Web no Centro de administração do Microsoft Entra. Este tutorial demonstra como criar um aplicativo Web do ASP.NET Core usando um IDE. Você também irá criar e carregar um certificado autoassinado no Centro de administração do Microsoft Entra para proteger seu aplicativo. Por fim, você configurará o aplicativo para autenticação.

Neste tutorial:

  • Criar um aplicativo Web ASP.NET Core
  • Criará um certificado autoassinado
  • Definir as configurações do aplicativo
  • Definir as configurações e URLs da plataforma

Pré-requisitos

Criar um projeto ASP.NET Core

Use as guias a seguir para criar um projeto do ASP.NET Core em um IDE.

  1. Abra o Visual Studio e selecione Criar projeto.
  2. Pesquise e escolha o modelo Aplicativo web do ASP.NET Core e selecione Avançar.
  3. Insira um nome para o projeto, como NovoAplicativoWebLocal.
  4. Escolha um local para o projeto ou aceite a opção padrão e, em seguida, selecione Avançar.
  5. Aceite o padrão para a Estrutura, Tipo de autenticação e Configurar para HTTPS. O tipo de autenticação pode ser definido como Nenhum, pois esse tutorial irá abordar esse processo.
  6. Selecione Criar.

Criar e carregar um certificado autoassinado

O uso de certificados é uma maneira sugerida de proteger a comunicação entre o cliente e o servidor. Para fins deste tutorial, um certificado autoassinado será criado no diretório do projeto. Saiba mais sobre certificados autoassinados aqui.

  1. Selecione Ferramentas > Linha de Comando > Prompt de Comando do Desenvolvedor.

  2. Insira o seguinte comando para criar um novo certificado autoassinado:

    dotnet dev-certs https -ep ./certificate.crt --trust
    

Carregar certificado no Centro de administração do Microsoft Entra

Para disponibilizar o certificado no aplicativo, ele deve ser carregado no locatário.

  1. A partir da página Visão geral do aplicativo criado anteriormente, em Gerenciar, selecione Certificados e segredos e selecione a guia Certificados (0).

  2. Selecione Carregar certificado.

    Captura de tela do upload de um certificado em um locatário do Microsoft Entra.

  3. Selecione o ícone de pasta e, em seguida, procure e selecione o certificado que foi criado anteriormente.

  4. Insira uma descrição para o certificado e selecione Adicionar.

  5. Registre o valor Impressão digital, que será usado na próxima etapa.

    Captura de tela mostrando a cópia da impressão digital do certificado.

Configurar o aplicativo para autenticação e referência de API

Os valores registrados anteriormente serão usados para configurar o aplicativo para autenticação. appsettings.json é um arquivo de configuração usado para armazenar as configurações de aplicativo usadas durante o tempo de execução. Como o aplicativo também chamará uma API Web, ele também deve conter uma referência a ela.

  1. No IDE, abra appsettings.json e substitua o conteúdo do arquivo pelo seguinte trecho de código. Substitua o texto entre aspas pelos valores que foram registrados anteriormente.

    {
    "AzureAd": {
      "Instance": "https://login.microsoftonline.com/",
      "TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "ClientCertificates": [
        {
          "SourceType": "StoreWithThumbprint",
          "CertificateStorePath": "CurrentUser/My",
          "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
        }   
      ],
      "CallbackPath": "/signin-oidc"
    },
      "DownstreamApi": {
        "BaseUrl": "https://graph.microsoft.com/v1.0/",
        "RelativePath": "me",
        "Scopes": [ 
          "user.read" 
        ]
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning"
        }
      },
      "AllowedHosts": "*"
    }
    
    • Instance – O ponto de extremidade de autenticação. Verifique com os diferentes pontos de extremidade disponíveis nas Nuvens nacionais.
    • TenantId – O identificador do locatário em que o aplicativo está registrado. Substitua o texto entre aspas pelo valor da ID do Diretório (locatário) que foi registrado anteriormente na página de visão geral do aplicativo registrado.
    • ClientId – O identificador do aplicativo, também conhecido como cliente. Substitua o texto entre aspas pelo valor da ID do Aplicativo (locatário) que foi registrado anteriormente na página de visão geral do aplicativo registrado.
    • ClientCertificates – Um certificado autoassinado é usado para autenticação no aplicativo. Substitua o texto do CertificateThumbprint pela impressão digital do certificado que foi gravado anteriormente.
    • CallbackPath – É um identificador para ajudar o servidor a redirecionar uma resposta para o aplicativo apropriado.
    • DownstreamApi – É um identificador que define um ponto de extremidade para acessar o Microsoft Graph. O URI do aplicativo é combinado com o escopo especificado. Para definir a configuração de um aplicativo que pertence à organização, o valor do atributo Scopes é ligeiramente diferente.
  2. Salve as alterações no arquivo.

  3. Na pasta Propriedades, abra o arquivo launchSettings.json.

  4. Localize e registre o valor https do applicationURI em launchSettings.json, por exemplo https://localhost:{port}. Essa URL será usada ao definir o URI de Redirecionamento. Não use o valor http.

Adicionar uma URI de redirecionamento de plataforma

  1. No portal do Azure, em Gerenciar, selecione Registros de aplicativo e, em seguida, selecione o aplicativo que foi criado anteriormente.

  2. No menu à esquerda, em Gerenciar, selecione Autenticação.

  3. Nas Configurações da plataforma, selecione Adicionar uma plataforma e, em seguida, selecione Web.

    Captura de tela sobre como selecionar a plataforma para o aplicativo.

  4. Em URIs de Redirecionamento, insira o applicationURL e o CallbackPath, /signin-oidc, na forma de https://localhost:{port}/signin-oidc.

  5. Em URL de logoff do canal frontal, insira a seguinte URL para sair, https://localhost:{port}/signout-oidc.

  6. Selecione Configurar.

Próximas etapas