Registar uma aplicação
Exercício - Registar uma candidatura
Para permitir que seu aplicativo entre com a ID Externa do Microsoft Entra, você precisa registrar o aplicativo no diretório.
Nota
Você precisará de pelo menos a função de diretório do desenvolvedor de aplicativos para registrar um aplicativo.
Este papel é um papel privilegiado. Leia sobre as práticas recomendadas para trabalhar com funções privilegiadas.
Você tem comentários? Por favor, deixe-nos saber como está o seu projeto de prova de conceito. Gostaríamos de ouvir a sua opinião!
Para registar a sua própria aplicação, inicie sessão no centro de administração do Microsoft Entra e navegue até Registos da >. Em seguida, selecione + Novo registo.
Na página Registrar um aplicativo que aparece, insira um Nome de aplicativo significativo que é exibido para os usuários do aplicativo, por exemplo, Woodgrove Groceries. Em Tipos de conta suportados, selecione Contas somente neste diretório organizacional. Em Plataforma, selecione a opção Web e insira o URI de redirecionamento do aplicativo. O URI de redirecionamento é o ponto de extremidade para o qual os usuários são redirecionados pela ID Externa do Microsoft Entra após a conclusão da autenticação com a ID Externa do Microsoft Entra.
O painel Visão geral do aplicativo é exibido após o registro bem-sucedido. Registre o ID do aplicativo (cliente) a ser usado no código-fonte do aplicativo.
Para adicionar mais URIs de redirecionamento ou uma URL de logout do canal Front, em Gerenciar, selecione Autenticação. O URL de logout do canal frontal é onde enviamos uma solicitação para que o aplicativo limpe os dados da sessão do usuário. Isso é necessário para que o logon único funcione corretamente.
Para que um aplicativo Web (cliente confidencial) adquira um token de acesso, ele precisa de uma credencial para provar sua identidade para o Microsoft Entra ID. Você pode adicionar certificados, segredos de cliente (uma cadeia de caracteres) ou credenciais de identidade federada como credenciais ao registro confidencial do aplicativo cliente. Para o site de mantimentos, usaremos um certificado. Para adicionar um certificado, selecione Certificados & secretos>>Carregar certificado.
Selecione o ficheiro que pretende carregar. Tem de ser do tipo .cer, .pem ou .crt. Em seguida, selecione Adicionar.
Nas etapas a seguir, você adicionará a permissão necessária para o aplicativo Web. Em Gerir, selecione Permissões de API e, em seguida, selecione Adicionar uma permissão.
Em Solicitar permissões de API, selecione a guia APIs da Microsoft e, em seguida, selecione Microsoft Graph.
Selecione a opção Permissões delegadas. Em seguida, na seção Selecionar permissões , procure e selecione as permissões openid e offline_access . Para concluir, selecione Adicionar permissões.
Neste ponto, você atribuiu as permissões corretamente. No entanto, como o locatário é um locatário externo, os próprios usuários consumidores não podem consentir com essas permissões. Você, como administrador, deve consentir com essas permissões em nome de todos os usuários no locatário: Selecione
<your tenant name>
e, em seguida, selecione Sim.Muito bem! Agora seu aplicativo está pronto para uso.
1. Registar um pedido
Para registrar um aplicativo Web, use a solicitação do Microsoft Graph abaixo e substitua os seguintes valores.
Valor de displayName com o nome exibido do aplicativo. Por exemplo, Woodgrove Groceries.
Valores do redirecionamentoUris com o URI de redirecionamento do seu aplicativo. Por exemplo, https://woodgrovedemo.com/signin-oidc. Você também pode usar https://www.jwt.ms/o .
POST https://graph.microsoft.com/v1.0/applications { "displayName": "Woodgrove Groceries", "description": "Woodgrove Groceries live demo application", "signInAudience": "AzureADMyOrg", "api": { "acceptMappedClaims": true, "requestedAccessTokenVersion": 2 }, "requiredResourceAccess": [ { "resourceAppId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", "resourceAccess": [ { "id": "b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2", "type": "Scope" }, { "id": "c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3", "type": "Scope" } ] } ], "web": { "redirectUris": [ "https://woodgrovedemo.com/signin-oidc" ], "implicitGrantSettings": { "enableAccessTokenIssuance": false, "enableIdTokenIssuance": false } } }
1.1 Copie o ID do aplicativo
Na resposta, copie o valor do appId. Por exemplo:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity",
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"displayName": "Woodgrove Groceries",
"description": "Woodgrove Groceries live demo application",
...
}
2. Crie uma entidade de serviço para seu aplicativo
Depois de registrar seu aplicativo, crie uma entidade de serviço. A chamada Graph a seguir cria uma entidade de serviço. Substitua o {appId} pelo appId do aplicativo da chamada anterior (não o ID do objeto).
POST https://graph.microsoft.com/v1.0/servicePrincipals
{
"appId": "{appId}"
}
2.1 Copie o ID da entidade de serviço
A partir da resposta, copie o valor do id. Por exemplo:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals/$entity",
"id": "bbbbbbbb-1111-2222-3333-cccccccccccc",
"displayName": "Woodgrove Groceries",
"description": "Woodgrove Groceries live demo application",
...
}
3. Consentimento para as permissões necessárias
Como o locatário é um locatário externo, os próprios usuários consumidores não podem consentir com essas permissões. Você, como administrador, deve consentir com essas permissões em nome de todos os usuários no locatário.
3.1 Obter o ID da entidade de serviço do Microsoft Graph
Execute a seguinte solicitação GET e copie a id da resposta:
GET https://graph.microsoft.com/v1.0/servicePrincipals(appId='22223333-cccc-4444-dddd-5555eeee6666')
{
"id": "cccccccc-2222-3333-4444-dddddddddddd",
"appDisplayName": "Microsoft Graph",
"appId": "22223333-cccc-4444-dddd-5555eeee6666"
}
3.2 Conceder as permissões necessárias
Substitua o {service-principal-id} pelo id service-principal copiado na etapa anterior. Substitua o {graph-service-principal-id} pelo ID do service-principal copiado na última etapa.
POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
{
"clientId": "{service-principal-id}",
"consentType": "AllPrincipals",
"resourceId": "{graph-service-principal-id}",
"scope": "openid offline_access"
}
4. (Opcional) Adicionar um segredo do cliente
As credenciais permitem que aplicativos confidenciais se identifiquem no serviço de autenticação ao receber tokens. Para um nível mais alto de garantia, recomendamos o uso de um certificado (em vez de um segredo do cliente) como credencial. Para obter o segredo do cliente, execute a seguinte solicitação. Substitua o {graph-service-principal-id} pelo appId pelo appId desde a primeira etapa.
POST https://graph.microsoft.com/v1.0/applications(appId='appId')/addPassword
{
"passwordCredential": {
"displayName": "My app client secret"
}
}
A partir da resposta, copie o valor do secretText:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.passwordCredential",
"displayName": "My app client secret",
"endDateTime": "2026-05-23T15:16:42",
"hint": "<Your hint will show up here>",
"keyId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"secretText": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"startDateTime": "2024-05-23T15:16:42"
}