Registrare un'applicazione

Completato

Esercizio - Registrare un'applicazione

Per abilitare l'accesso dell'app con Microsoft Entra External ID, è necessario registrare l'applicazione nella directory.

Annotazioni

Per registrare un'applicazione, è necessario almeno il ruolo directory Application Developer.

Questo ruolo è un ruolo con privilegi. Leggere le procedure consigliate per l'uso dei ruoli con privilegi.

Si desidera fornire un feedback? Saremmo felici di sapere come procede il progetto del modello di verifica. Ci piacerebbe sapere cosa ne pensi!

  1. Per registrare un'applicazione personalizzata, accedere all'interfaccia di amministrazione di Microsoft Entra e passare ad Applicazioni>Registrazioni app. Selezionare quindi + Nuova registrazione.

    Screenshot che mostra il pannello Registrazioni app con un pulsante denominato Nuova registrazione evidenziato.

  2. Nella pagina Registra un'applicazione visualizzata immettere un nome di applicazione significativo visualizzato agli utenti dell'app, ad esempio Woodgrove Groceries. In Tipi di account supportati, selezionare solo gli account in questa directory organizzativa. Per Piattaforma selezionare l'opzione Web e immettere l'URI di reindirizzamento dell'app. L'URI di reindirizzamento è l'endpoint a cui gli utenti vengono reindirizzati da Microsoft Entra External ID dopo il completamento dell'autenticazione con Microsoft Entra External ID.

    Screenshot che mostra il pannello Registra un'applicazione con gli account in questa directory organizzativa evidenziata solo per Chi può utilizzare questa applicazione o accedere a questa API?, l'URI di reindirizzamento evidenziato e impostato su Web, nonché l'URL dove reindirizzare l'utente dopo l'autenticazione riuscita.

  3. Al termine della registrazione, viene visualizzato il riquadro Panoramica dell'applicazione. Registrare l'ID dell'applicazione (client) da utilizzare nel codice sorgente della tua applicazione.

    Screenshot che mostra Registrazioni app con l’opzione Panoramica evidenziata nella barra di navigazione a sinistra. L'ID applicazione (client) è evidenziato anche sotto Essentials.

  4. Per aggiungere altri URI di reindirizzamento o un URL di disconnessione frontale, selezionare Autenticazione in Gestisci. L'URL di logout del front-channel è il punto in cui viene inviata una richiesta per liberare i dati della sessione dell'utente. Questa operazione è necessaria per il corretto funzionamento dell'accesso Single Sign-Out.

    Screenshot che mostra il pannello Autenticazione in Registrazioni app con l'URI evidenziato nell’URI di reindirizzamento Web, nonché l'URL per l'URL di disconnessione del canale anteriore.

  5. Affinché un'applicazione Web (client riservato) acquisisca un token di accesso, ha bisogno di credenziali per dimostrare la propria identità a Microsoft Entra ID. È possibile aggiungere certificati, segreti client (una stringa) o credenziali di identità federate come credenziali della registrazione dell'app client riservata. Per il sito web dei generi alimentari, verrà utilizzato un certificato. Per aggiungere un certificato, selezionare Certificati e segreti>Certificati>Carica certificato.

    Screenshot che mostra il pannello Certificati e segreti in Registrazioni app in cui sono presenti zero certificati ed è evidenziato un pulsante denominato Carica certificato.

  6. Selezionare i file che si vogliono caricare. Il tipo di file deve essere uno dei seguenti: .cer, .pem, .crt. Selezionare quindi Aggiungi.

    Screenshot del riquadro Carica certificato aperto a destra con l'icona di caricamento evidenziata per caricare il certificato.

  7. Nei passaggi seguenti verrà aggiunta l'autorizzazione necessaria per l'applicazione Web. In Gestisci selezionare Autorizzazioni API, quindi selezionare Aggiungi un'autorizzazione.

    Screenshot che mostra le autorizzazioni API in Registrazioni app con un pulsante denominato Aggiungi un'autorizzazione evidenziato.

  8. In Richiedi autorizzazioni API selezionare la scheda API Microsoft e quindi Selezionare Microsoft Graph.

    Screenshot del riquadro Richiedi autorizzazioni API aperto a destra con un gruppo di scelta denominato Microsoft Graph evidenziato.

  9. Selezionare l'opzione Autorizzazioni delegate . Quindi, nella sezione Seleziona autorizzazioni, cercare e selezionare sia le autorizzazioni openid che offline_access. Per completare, selezionare Aggiungi autorizzazioni.

    Screenshot del riquadro Richiedi autorizzazioni API aperto a destra con un gruppo di scelta denominato Autorizzazioni delegate evidenziate, e le autorizzazioni per offline_access e openid selezionate nelle caselle di controllo sottostanti.

  10. A questo punto, le autorizzazioni sono state assegnate correttamente. Tuttavia, poiché il tenant è esterno, gli utenti stessi non possono fornire il consenso a queste autorizzazioni. L'amministratore deve fornire il consenso a queste autorizzazioni per conto di tutti gli utenti nel tenant: selezionare Concedi consenso amministratore per <your tenant name>e quindi selezionare .

    Screenshot di un pulsante denominato Concedi il consenso amministratore per Woodgrove Groceries evidenziato nel pannello Autorizzazioni API.

    Ben fatto! A questo punto l'applicazione è pronta per l'uso.

1. Registrare un'applicazione

Per registrare un'applicazione Web, usare la richiesta di Microsoft Graph seguente e sostituire i valori seguenti.

  • Valore di displayName con il nome visualizzato della tua app. Ad esempio, Woodgrove Groceries.

  • Valori dei redirectUris con l'URI di reindirizzamento dell'applicazione. Ad esempio: https://woodgrovedemo.com/signin-oidc. È anche possibile usare https://www.jwt.ms/.

    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 Copiare l'ID applicazione

Dalla risposta copiare il valore di appId. Per esempio:

{
    "@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. Creare un'entità servizio per l'applicazione

Dopo aver registrato l'applicazione, creare un'entità servizio. La chiamata Graph seguente crea un'entità servizio. Sostituire {appId} con l'appId della chiamata precedente (non l'ID oggetto).

POST https://graph.microsoft.com/v1.0/servicePrincipals
{
    "appId": "{appId}"
}
2.1 Copiare l'ID entità servizio

Dalla risposta copiare il valore dell'ID. Per esempio:

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

Poiché il tenant è esterno, gli utenti stessi non possono fornire il consenso a queste autorizzazioni. L'amministratore deve fornire il consenso a queste autorizzazioni per conto di tutti gli utenti nel tenant.

3.1 Ottenere l'ID dell'entità servizio di Microsoft Graph

Eseguire la richiesta GET seguente e copiare l'ID dalla risposta:

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 Concedere le autorizzazioni necessarie

Sostituire {service-principal-id} con id dell'entità servizio copiato nel passaggio precedente. Sostituire {graph-service-principal-id} con l'id del service-principal copiato nell'ultimo passaggio.

POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
{
    "clientId": "{service-principal-id}",
    "consentType": "AllPrincipals",
    "resourceId": "{graph-service-principal-id}",
    "scope": "openid offline_access"
}

4. (Facoltativo) Aggiungi un segreto client

Le credenziali consentono alle applicazioni riservate di identificarsi al servizio di autenticazione durante la ricezione di token. Per un livello di garanzia superiore, è consigliabile usare un certificato (anziché un segreto client) come credenziale. Per ottenere il segreto client, eseguire la richiesta seguente. Sostituire {graph-service-principal-id} con appId con il valore appId ottenuto nel primo passaggio.

POST https://graph.microsoft.com/v1.0/applications(appId='appId')/addPassword
{
    "passwordCredential": {
        "displayName": "My app client secret"
    }
}

Dalla risposta copiare il valore di 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"
}