Início Rápido: efetue login de utilizadores e chame a API do Microsoft Graph a partir de uma aplicação web ASP.NET Core
Neste guia rápido, utiliza um exemplo de aplicação Web ASP.NET Core para autenticar utilizadores utilizando o fluxo de código de autorização e aceder à API do Microsoft Graph. O exemplo usa Microsoft Authentication Library for .NET e Microsoft Identity Web para manipular a autenticação.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Se ainda não tiver uma, Crie uma conta gratuitamente.
- Um requisito mínimo de SDK do .NET 8.0
- de código do Visual Studio
Registar a aplicação e registar os identificadores
Para concluir o registro, forneça um nome ao aplicativo e especifique os tipos de conta suportados. Uma vez registado, o painel de Visão Geral da aplicação exibe os identificadores necessários no código-fonte da aplicação.
Entre no centro de administração do Microsoft Entra.
Se tiver acesso a vários inquilinos, utilize o ícone Definições
no menu superior para mudar para o inquilino no qual pretende registar a aplicação a partir do menu Diretórios + subscrições.
Navegue até Identidade>Aplicações>Registos de aplicações, selecione Novo registo.
Insira um Nome para a aplicação, como identity-client-web-app.
Para Tipos de conta suportados, selecione apenas Contas neste diretório organizacional. Para obter informações sobre diferentes tipos de conta, selecione a opção Ajuda-me a escolher.
Selecione Registo.
É exibido o painel de Visão geral do aplicativo quando o registo é concluído. Registre o de ID do Diretório (locatário) e o ID do Aplicativo (cliente) a serem usados no código-fonte do aplicativo.
Observação
Os Tipos de conta suportados podem ser alterados consultando Modificar as contas suportadas por um aplicativo.
Adicionar um URI de redirecionamento de plataforma
Para especificar o tipo de aplicativo para o registro do aplicativo, siga estas etapas:
- Em Gerir, selecione Autenticação.
- Na página de Configurações da plataforma , selecione Adicionar uma plataformae, em seguida, selecione a opção Web.
- Para o Redirecionar URIs insira
https://localhost:5001/signin-oidc
. - Em URL de logout do canal primário, insira
https://localhost:5001/signout-callback-oidc
para sair. - Selecione Configurar para salvar as alterações.
Clone ou baixe 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 digite o seguinte comando:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
Baixe o ficheiro .zip. Extraia-o para um caminho de arquivo onde o comprimento do nome é inferior a 260 caracteres.
Criar e carregar um certificado autoassinado
Para proteger seu aplicativo, você adiciona um certificado ao seu aplicativo. Esta seção mostra como criar um certificado autoassinado e carregá-lo para o registro do aplicativo no centro de administração do Microsoft Entra.
Observação
Os certificados autoassinados só devem ser usados no desenvolvimento. Na produção, você deve usar um certificado de uma autoridade de certificação confiável.
Usando seu terminal, use os seguintes comandos 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
Volte ao Centro de Administração do Microsoft Entra e, em Gerenciar, selecione Certificados & segredos>Carregar certificado.
Selecione a guia Certificados (0) e, em seguida, selecione Carregar certificado.
É apresentado um painel Carregar certificado. 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-appe selecione Adicionar.
Registe o valor da impressão digital para uso na próxima etapa.
Configurar o projeto
No IDE, abra a pasta do projeto ms-identity-docs-code-dotnet\web-app-aspnet, que contém o exemplo.
Abra appsettings.json e substitua o conteúdo do arquivo pelo seguinte trecho;
{ "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 onde 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.
-
Execute o aplicativo e entre
No diretório do projeto, use o terminal para inserir o seguinte comando;
dotnet run
Copie o URL
https
que aparece no terminal, por exemplo,https://localhost:5001
e cole-o em um navegador. Recomendamos o uso de uma sessão privada ou anônima do navegador.Siga os passos e introduza os detalhes necessários para iniciar sessão com a sua conta Microsoft. É-lhe pedido que forneça um endereço de e-mail para que lhe possa ser enviado um código de acesso único. Insira o código quando solicitado.
A aplicação solicita permissão para manter o acesso aos dados aos quais lhe deu acesso, para iniciar sessão e ler o seu perfil. Selecione Aceitar.
A captura de tela a seguir é exibida, indicando que você entrou no aplicativo e acessou os detalhes do seu perfil a partir da API do Microsoft Graph.
Sair do aplicativo
- Encontre o link Sair no canto superior direito da página e selecione-o.
- Você será solicitado a escolher uma conta da qual sair. Selecione a conta que utilizou para iniciar sessão.
- Uma mensagem é exibida indicando que você saiu. Agora você pode fechar a janela do navegador.
Conteúdo relacionado
- Aprenda criando este aplicativo Web ASP.NET com a série Tutorial: Registrar um aplicativo com a plataforma de identidade da Microsoft.
- Guia de início rápido: proteja uma API Web ASP.NET Core com a plataforma de identidade da Microsoft.
- Guia de início rápido: implantar um aplicativo Web ASP.NET no Serviço de Aplicativo do Azure