Compartilhar via


Tutorial: Configurar um aplicativo Web ASP.NET Core que autentica usuários

Aplica-se a: Círculo verde com um símbolo de marca de seleção branca que indica que o conteúdo a seguir se aplica aos locatários da força de trabalho. Locatários da força de trabalho Círculo verde com um símbolo de marca de seleção branca que indica que o conteúdo a seguir se aplica a locatários externos. Locatários externos (saiba mais)

Neste tutorial, você criará um aplicativo Web ASP.NET Core e o configurará para autenticação. Essa é a parte 1 de uma série que demonstra como criar um aplicativo Web ASP.NET Core e prepará-lo para autenticação usando o Centro de administração do Microsoft Entra. Esse aplicativo pode ser usado para funcionários em um locatário da força de trabalho ou para clientes que usam um locatário externo

Neste tutorial, você:

  • 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

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente. Essa conta deve ter permissões para gerenciar aplicativos. Use qualquer uma das seguintes funções necessárias para registrar o aplicativo:
    • Administrador de aplicativos
    • Desenvolvedor de aplicativos
  • Embora qualquer IDE (ambiente de desenvolvimento integrado) que dê suporte a aplicativos ASP.NET Core possa ser usado, este tutorial usa o Visual Studio Code. Você pode baixá-lo aqui.
  • Requisito mínimo de SDK do .NET 8.0.
  • Um certificado de desenvolvedor do ASP.NET Core. Instalar um usando dotnet dev-certs
  • Registre um novo aplicativo no Centro de administração do Microsoft Entra, configurado apenas para Contas neste diretório organizacional. Consulte Registrar um aplicativo para obter mais detalhes. Registre os seguintes valores na página visão geral do aplicativo para uso posterior:
    • ID do aplicativo (cliente)
    • ID do diretório (locatário)
  • Adicione as SEGUINTEs URIs de redirecionamento usando a configuração da plataforma Web . Consulte Como adicionar um URI de redirecionamento em seu aplicativo para obter mais detalhes.
    • URI de redirecionamento: https://localhost:5001/signin-oidc
    • URL de logoff do canal frontal: https://localhost:5001/signout-oidc
  • Para fins de desenvolvimento, crie um certificado autoassinado. Consulte a seção adicionar credenciais para carregar o certificado e registrar a Impressão digital do certificado. Não use um certificado autoassinado para aplicativos de produção. Use uma autoridade de certificação confiável.

Criar um projeto do ASP.NET Core

Nesta seção, você criará um projeto do ASP.NET Core no Visual Studio Code.

  1. Abra o Visual Studio Code e selecione Arquivo > Abrir Pasta.... Navegue até e selecione o local no qual criar seu projeto.

  2. Abra um novo terminal selecionando Terminal > Novo Terminal.

  3. Insira o seguinte comando para criar um projeto de ASP.NET Core MVC (Model-View-Controller).

    dotnet new mvc -n identity-client-web-app
    

Instalar pacotes de identidade

Este aplicativo usa Microsoft.Identity.Web e o pacote NuGet relacionado deve ser instalado.

Use o snippet a seguir para alterar para a nova pasta identity-client-web-app e instalar o pacote NuGet relevante:

cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI

Configurar o aplicativo para autenticação

Os aplicativos Web que conectam usuários usando a plataforma de identidade da Microsoft são configurados por meio de um arquivo de configuração ,appsettings.json. No ASP.NET Core, ele deve especificar os seguintes valores:

Configurações Description
Instance O endpoint de autenticação para rodar seu aplicativo em nuvens nacionais. Use um dos seguintes:
- https://login.microsoftonline.com/ (Nuvem pública do Azure)
- https://login.microsoftonline.us/ (Azure do Governo dos EUA)
- https://login.microsoftonline.de/ (Microsoft Entra Alemanha)
- https://login.partner.microsoftonline.cn/ (Microsoft Entra China operado pela 21Vianet)
TenantId O identificador do locatário em que o aplicativo está registrado. Recomendado: use o ID do locatário do registro do aplicativo. Alternativas:
- organizations (qualquer conta corporativa ou de estudante)
- common (conta pessoal corporativa/de estudante ou da Microsoft)
- consumers (Somente contas pessoais da Microsoft).
ClientId Identificador do aplicativo (cliente) obtido do registro do aplicativo.
CertificateThumbprint Impressão digital do certificado carregado no Centro de administração do Microsoft Entra (consulte adicionar credenciais).
CallbackPath Caminho usado para redirecionar respostas; está definido para /signin-oidc neste tutorial.
DownstreamApi Identificador que define um ponto de extremidade para acessar o Microsoft Graph. Combine o URI do aplicativo com o escopo necessário (por exemplo, user.read).

Atualizar o ficheiro de configuração

No IDE, abra appsettings.json e substitua o conteúdo do arquivo pelo snippet a seguir. Substitua o texto entre aspas pelos valores que foram registrados anteriormente.

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "Enter_the_Tenant_Id_Here",
    "ClientId": "Enter_the_Application_Id_Here",
    "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": "*"
  }

Atualizar o URI de redirecionamento

Nos pré-requisitos, o URI de redirecionamento é definido como https://localhost:5001/signin-oidc. Isso precisa ser atualizado nas configurações de inicialização do aplicativo. Você pode usar o URI de redirecionamento criado durante a instalação do aplicativo local ou qualquer outro número de porta disponível, desde que corresponda ao URI de redirecionamento no registro do aplicativo.

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

  2. Encontre o objeto https e atualize o valor de applicationURI com o número de porta correto, nesse caso, 5001. A linha deve ser semelhante ao seguinte trecho:

    "applicationUrl": "https://localhost:5001;http://localhost:{port}",
    

Próxima etapa