Início Rápido: Aplicativo de console do .NET que acessa uma API web protegida
Esse início rápido usa uma amostra de aplicativo de console do .NET para acessar uma API 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 de cliente confidencial e usa o fluxo OAuth de credenciais do cliente para obter um token de acesso e chamar a API do Microsoft Graph.
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, por exemplo, 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. Anote 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 seu aplicativo.
Observação
Os Tipos de conta com suporte podem ser alterados referindo-se a Modificar as contas suportadas por um aplicativo.
Criar um segredo do cliente
- No centro de administração do Microsoft Entra, navegue até Identidade>Aplicativos>Registros de aplicativo.
- Selecione o aplicativo que você registrou anteriormente.
- No painel Visão Geral do aplicativo, selecione Certificados e segredos>Novo segredo de cliente.
- Insira uma descrição para o segredo no campo Descrição.
- Selecione um período de expiração para o segredo.
- Selecione Adicionar.
- Anote o Valor do segredo do cliente. O valor é exibido apenas uma vez, então certifique-se de anotá-lo.
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.
Configurar o projeto
No IDE, abra a pasta do projeto que contém a amostra, ms-identity-docs-code-dotnet/console-daemon.
Abra o Program.cs e substitua o conteúdo do arquivo pelo trecho de código a seguir;
// 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 é uma URL que indica um diretório do qual o MSAL pode solicitar tokens. Substitua Enter_the_tenant_ID pelo valor da ID do diretório (locatário) que foi anotada anteriormente.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.ClientSecret
: o segredo do cliente criado para o aplicativo no centro de administração do Microsoft Entra. Insira o valor do segredo do cliente.ClientObjectId
: a ID do objeto do aplicativo de cliente. Substitua o texto entre aspas pelo valorObject ID
que foi registrado anteriormente na página de visão geral do aplicativo registrado.
Executar o aplicativo
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 (encurtada da para fins de 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ú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