Compartilhar via


Início rápido: conectar usuários e chamar a API do Microsoft Graph de um aplicativo Web do ASP.NET Core

Neste guia de início rápido, você usará um exemplo de aplicativo web ASP.NET Core para fazer login de usuários usando o fluxo de autorização por código e fazer chamadas para a API do Microsoft Graph. O exemplo usa Biblioteca de Autenticação da Microsoft para .NET e Microsoft Identity Web para lidar com a autenticação.

Pré-requisitos

Registrar o aplicativo e gravar os identificadores

Para concluir o registro, forneça um nome ao aplicativo e especifique os tipos de conta com suporte. Depois de registrado, o painel de visão geral do aplicativo exibe os identificadores necessários no código-fonte do aplicativo.

  1. Entre no centro de administração do Microsoft Entra.

  2. Se você tem acesso a vários locatários, use o ícone Configurações no menu superior para alternar para o locatário no qual deseja registrar o aplicativo no menu Diretórios + assinaturas.

  3. Navegue até Identidade>Aplicativos>Registros de aplicativo e selecione Novo registro.

  4. Insira um Nome para o aplicativo, como identity-client-web-app.

  5. Para Tipos de contas com suporte, selecione Contas somente neste diretório organizacional. Para obter informações sobre diferentes tipos de conta, selecione a opção Ajude-me a escolher.

  6. Selecione Registrar.

    Captura de tela que mostra como inserir um nome e selecionar o tipo de conta no Centro de administração do Microsoft Entra.

  7. O painel Visão geral do aplicativo é exibido quando o registro é concluído. Registre a ID do diretório (locatário) e a ID do aplicativo (cliente) a ser usada no código-fonte do aplicativo.

    Captura de tela que mostra os valores do identificador na página de visão geral no Centro de administração do Microsoft Entra.

    Nota

    Os Tipos de conta com suporte podem ser alterados consultando Modificar as contas com suporte de um aplicativo.

Adicionar um URI de redirecionamento de plataforma

Para especificar o tipo de aplicativo para o registro do aplicativo, siga estas etapas:

  1. Em Gerenciar, selecione Autenticação.
  2. Na página de Configurações da plataforma, selecione Adicionar uma plataforma e, em seguida, selecione a opção Web.
  3. Para os URIs de redirecionamento, insira https://localhost:5001/signin-oidc.
  4. Em URL de logoff de front-channel, insira https://localhost:5001/signout-callback-oidc para sair do serviço.
  5. Selecione Configurar para salvar suas alterações.

Clonar ou baixar o aplicativo de exemplo

Para obter o aplicativo de exemplo, você pode cloná-lo do GitHub ou baixá-lo como um arquivo .zip.

  • Para clonar o exemplo, abra um prompt de comando e navegue até onde deseja criar o projeto e insira o seguinte comando:

    git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
    
  • Baixe o arquivo .zip. Extraia-o para um caminho de arquivo em que o comprimento do nome tenha menos de 260 caracteres.

Criar e carregar um certificado autoassinado

Para proteger seu aplicativo, adicione um certificado ao seu aplicativo. Esta seção mostra como criar um certificado autoassinado e carregá-lo no registro do aplicativo no Centro de administração do Microsoft Entra.

Nota

Certificados autoassinados só devem ser usados no desenvolvimento. Em produção, você deve usar um certificado de uma autoridade de certificação confiável.

  1. Usando o terminal, use os comandos a seguir para navegar para criar um certificado autoassinado no diretório do projeto.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Retorne ao centro de administração do Microsoft Entra e, em Gerenciar, selecione Certificados e segredos>Carregar certificado.

  3. Selecione a guia Certificados (0), em seguida, selecione Carregar certificado.

  4. Um painel Carregar certificado é exibido. Use o ícone para navegar até o arquivo de certificado criado na etapa anterior e selecione Abrir.

  5. Insira uma descrição para o certificado, por exemplo, Certificate for aspnet-web-appe selecione Adicionar.

  6. Registre o valor de Impressão digital para uso na próxima etapa.

Configurar o projeto

  1. No IDE, abra a pasta do projeto, ms-identity-docs-code-dotnet\web-app-aspnet, contendo o exemplo.

  2. Abra appsettings.json e substitua o conteúdo do arquivo pelo snippet a seguir;

    {
    "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": "*"
    }
    
    • TenantId - O identificador do locatário em que o aplicativo está registrado. Substitua o texto entre aspas pelo Directory (tenant) ID que foi registrado anteriormente na página de visão geral do aplicativo registrado.
    • ClientId - O identificador do aplicativo, também conhecido como o cliente. Substitua o texto entre aspas pelo valor Application (client) ID 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.

Executar o aplicativo e entrar

  1. No diretório do projeto, use o terminal para inserir o comando a seguir;

    dotnet run
    
  2. Copie a URL de https que aparece no terminal, por exemplo, https://localhost:5001e cole-a em um navegador. É recomendável usar uma sessão de navegador privada ou anônima.

  3. Siga as etapas e insira os detalhes necessários para entrar com sua conta da Microsoft. É solicitado que você forneça um endereço de email para que uma senha única possa ser enviada a você. Insira o código quando solicitado.

  4. O aplicativo solicita permissão para manter o acesso aos dados aos quais você lhe deu acesso, assinar e ler seu perfil. Selecione Aceitar.

  5. A captura de tela a seguir é exibida, indicando que você entrou no aplicativo e acessou os detalhes do perfil da API do Microsoft Graph.

    Captura de tela mostrando os resultados da chamada à API.

Sair do aplicativo

  1. Encontre o link Sair no canto superior direito da página e selecione-o.
  2. Será solicitado que você escolha uma conta da qual sair. Selecione a conta usada para entrar.
  3. Uma mensagem é exibida indicando que você saiu. Agora você pode fechar a janela do navegador.