Guia de início rápido: aplicativo de console .NET que acessa uma API da Web protegida
Este guia de início rápido usa um aplicativo de console .NET de exemplo para acessar uma API da Web protegida como sua própria identidade usando a Biblioteca de Autenticação da Microsoft (MSAL) para .NET. O aplicativo é um aplicativo daemon, que é um aplicativo cliente confidencial, e usa o fluxo OAuth de credenciais do cliente para obter um token de acesso para chamar a API do Microsoft Graph.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Se ainda não tiver uma, crie uma conta gratuitamente.
- Um requisito mínimo do SDK do .NET 6.0
- Visual Studio 2022 ou Visual Studio Code
Registar a aplicação e os identificadores de registo
Para concluir o registro, forneça um nome ao aplicativo e especifique os tipos de conta suportados. Uma vez registrado, o painel Visão geral do aplicativo exibe os identificadores necessários no código-fonte do aplicativo.
Inicie sessão no centro de administração do Microsoft Entra.
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é Registros do aplicativo Aplicativos de identidade>>, selecione Novo registro.
Insira um Nome para o aplicativo, como identity-client-daemon-app.
Em Tipos de conta suportados, selecione Contas somente neste diretório organizacional. Para obter informações sobre diferentes tipos de conta, selecione a opção Ajude-me a escolher .
Selecione Registar.
O painel Visão geral do aplicativo é exibido quando o registro é concluído. Registre a ID do diretório (locatário), a ID do aplicativo (cliente) e a ID do objeto a serem usadas no código-fonte do aplicativo.
Nota
Os tipos de conta suportados podem ser alterados consultando Modificar as contas suportadas por um aplicativo.
Criar um segredo do cliente
- No centro de administração do Microsoft Entra, navegue até Registros do aplicativo Identity>Applications>.
- Selecione o aplicativo que você registrou anteriormente.
- No painel Visão geral do aplicativo, selecione Certificados & segredos Novo segredo do>cliente.
- Insira uma descrição para o segredo no campo Descrição .
- Selecione um período de expiração para o segredo.
- Selecione Adicionar.
- Registre o valor do segredo do cliente. O valor é exibido apenas uma vez, portanto, certifique-se de gravá-lo.
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
Transfira o ficheiro .zip. Extraia-o para um caminho de arquivo onde o comprimento do nome é inferior a 260 caracteres.
Configurar o projeto
No IDE, abra a pasta do projeto, ms-identity-docs-code-dotnet/console-daemon, que contém o exemplo.
Abra Program.cs e substitua o conteúdo do arquivo pelo seguinte trecho;
// Full directory URL, in the form of https://login.microsoftonline.com/<tenant_id> Authority = " https://login.microsoftonline.com/Enter_the_tenant_ID_obtained_from_the_Microsoft_Entra_admin_center", // 'Enter the client ID obtained from the Microsoft Entra admin center ClientId = "Enter the client ID obtained from the Microsoft Entra admin center", // Client secret 'Value' (not its ID) from 'Client secrets' in the Microsoft Entra admin center ClientSecret = "Enter the client secret value obtained from the Microsoft Entra admin center", // Client 'Object ID' of app registration in Microsoft Entra admin center - this value is a GUID ClientObjectId = "Enter the client Object ID obtained from the Microsoft Entra admin center"
Authority
- A autoridade é um URL que indica um diretório do qual a MSAL pode solicitar tokens. Substitua Enter_the_tenant_ID pelo valor de ID de diretório (locatário) que foi registrado anteriormente.ClientId
- O identificador da aplicação, também referido como o cliente. Substitua o texto entre aspas peloApplication (client) ID
valor que foi registrado anteriormente na página de visão geral do aplicativo registrado.ClientSecret
- O segredo do cliente criado para a aplicação no centro de administração do Microsoft Entra. Insira o valor do segredo do cliente.ClientObjectId
- O ID do objeto do aplicativo cliente. Substitua o texto entre aspas peloObject ID
valor que foi registrado anteriormente na página de visão geral do aplicativo registrado.
Executar a aplicação
Em um terminal, navegue até o diretório do projeto, ms-identity-docs-code-dotnet/console-daemon.
Execute o seguinte comando para compilar e executar o aplicativo:
dotnet run
O aplicativo é executado e exibe uma resposta semelhante à seguinte (abreviada para brevidade):
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity", "id": "00001111-aaaa-2222-bbbb-3333cccc4444", "deletedDateTime": null, "appId": "00001111-aaaa-2222-bbbb-3333cccc4444", "applicationTemplateId": null, "disabledByMicrosoftStatus": null, "createdDateTime": "2021-01-17T15:30:55Z", "displayName": "identity-dotnet-console-app", "description": null, "groupMembershipClaims": null, ... }
Conteúdos relacionados
- 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