Registar uma aplicação

Concluído

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.

  1. 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.

    Captura de ecrã da folha Registos de aplicações com um botão intitulado Novo registo realçado.

  2. 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.

    Captura de tela de Registrar uma folha de aplicativo com Contas neste diretório organizacional realçada apenas para Quem pode usar este aplicativo ou acessar esta API? e o URI de redirecionamento é realçado e definido como Web, bem como a URL para onde redirecionar o usuário após a autenticação bem-sucedida.

  3. 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.

    Captura de ecrã dos registos de aplicações com Visão geral na navegação à esquerda realçada. O ID do aplicativo (cliente) também é destacado em Essentials.

  4. 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.

    Captura de ecrã da folha Autenticação em Registos de aplicações com o URI realçado em URIs de Redirecionamento da Web, bem como o URL para URL de início de sessão do canal Frontal.

  5. 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.

    Captura de ecrã da folha Certificados e segredos em Registos de aplicações onde existem zero certificados e realça um botão intitulado Carregar certificado.

  6. Selecione o ficheiro que pretende carregar. Tem de ser do tipo .cer, .pem ou .crt. Em seguida, selecione Adicionar.

    Captura de ecrã do painel Carregar certificado aberto à direita com o ícone de carregamento realçado para carregar certificado.

  7. 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.

    Captura de ecrã das permissões da API em Registos de aplicações com um botão intitulado Adicionar uma permissão realçado.

  8. Em Solicitar permissões de API, selecione a guia APIs da Microsoft e, em seguida, selecione Microsoft Graph.

    Captura de ecrã do painel de permissões Solicitar API aberto à direita com um grupo de opções intitulado Microsoft Graph realçado.

  9. 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.

    Captura de ecrã do painel Solicitar permissões da API aberto à direita com um grupo de opções intitulado Permissões delegadas realçado e permissões para offline_access e openid marcadas nas caixas de verificação por baixo.

  10. 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.

    Captura de tela de um botão intitulado Conceder consentimento de administrador para o Woodgrove Groceries realçado na folha de permissões da API.

    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",
    ...
}

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"
}