Início Rápido: Conectar usuários e chamar a API do Microsoft Graph de um aplicativo web do ASP.NET Core
Esse início rápido usa um aplicativo Web do ASP.NET Core de exemplo para mostrar como conectar usuários por meio do fluxo de código de autorização e chamar a API do Microsoft Graph. O exemplo usa a Biblioteca de Autenticação da Microsoft para .NET e o Microsoft Identity Web para lidar com a autenticação.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Se você ainda não tiver uma, Crie uma conta gratuita.
- Um requisito mínimo do SDK do .NET 6.0
- Visual Studio 2022 ou Visual Studio Code
Registrar o aplicativo e os identificadores de registro
Para concluir o registro, forneça um nome ao aplicativo e especifique os tipos de conta com suporte. Depois de registrada, o painel Visão geral do aplicativo exibirá os identificadores necessários no código-fonte do aplicativo.
Se você tiver 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.
Navegue até Identidade>Aplicativos>Registros de aplicativo e selecione Novo registro.
Insira um Nome para o aplicativo, como identity-client-web-app.
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 Ajudar-me a escolher.
Selecione Registrar.
O painel Visão geral do aplicativo é exibido quando o registro for 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.
Observação
Os Tipos de conta com suporte podem ser alterados referindo-se a Modificar as contas suportadas por um aplicativo.
Adicionar uma URI de redirecionamento de plataforma
Para especificar o tipo de aplicativo para o registro do aplicativo, siga estas etapas:
- Em Gerenciar, selecione Autenticação.
- Na página de Configurações da plataforma, selecione Adicionar uma plataforma e, em seguida, selecione a opção Web.
- Para o Redirecionamento de URIs, insira
https://localhost:5001/signin-oidc
. - Em URL de logoff de front-channel, insira
https://localhost:5001/signout-callback-oidc
para sair do serviço. - Selecione Configurar para salvar as 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
Baixar o arquivo .zip. Extraia-o para um caminho de arquivo em que o comprimento do nome seja menor que 260 caracteres.
Criar e carregar um certificado autoassinado
Por meio do seu 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
Retorne ao centro de administração do Microsoft Entra e, em Gerenciar, selecione Certificados e segredos>Carregar certificado.
Selecione a guia Certificados (0) e selecione Carregar certificado.
Um painel Carregar certificado é exibido. Use o ícone para navegar até o arquivo de certificado criado na etapa anterior e selecione Abrir.
Insira uma descrição para o certificado, por exemplo, Certificado para aspnet-web-app e selecione Adicionar.
Registre o valor da Impressão digital, que será usado na próxima etapa.
Configurar o projeto
No IDE, abra a pasta do projeto, ms-identity-docs-code-dotnet\web-app-aspnet, contendo o exemplo.
Abra appsettings.json e substitua o conteúdo do arquivo pelo seguinte trecho de código:
{ "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 peloDirectory (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 cliente. Substitua o texto entre aspas pelo valorApplication (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 doCertificateThumbprint
pela impressão digital do certificado que foi gravado anteriormente.
Agora execute o aplicativo e entre
No diretório do projeto, use o terminal para inserir o comando a seguir:
dotnet run
Copie a
https
URL que aparece no terminal, por exemplo,https://localhost:5001
e cole-a em um navegador. É recomendável usar uma sessão de navegador privada ou anônima.Siga as etapas e insira os detalhes necessários para entrar com sua conta Microsoft. Você precisa fornecer um endereço de email para que um código de acesso único seja enviado a você. Insira o código quando solicitado.
O aplicativo solicita permissão para manter o acesso aos dados autorizados por você, para fazer login e ler seu perfil. Selecione Aceitar.
A captura de tela a seguir é exibida, indicando que você entrou no aplicativo e acessou os detalhes do perfil da API do Microsoft Graph.
Sair do aplicativo
- Localize o link Sair no canto superior direito da página e selecione-o.
- Você será solicitado a escolher uma conta para sair. Selecione a conta usada para entrar.
- Uma mensagem indicará que você se saiu. Agora você pode fechar a janela do navegador.
Conteúdo relacionado
- Para aprender, desenvolva este aplicativo web do ASP.NET por meio da série Tutorial: como registrar um aplicativo com a plataforma de identidade da Microsoft.
- Guia de início rápido: proteger uma API Web ASP.NET Core com a plataforma de identidade da Microsoft.
- Início rápido: implantar um aplicativo Web do ASP.NET no Serviço de Aplicativo do Azure