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.

Nota

Per registrare un'applicazione, è necessario almeno il ruolo della directory sviluppatore applicazione.

Si tratta di un ruolo con privilegi. Leggere le informazioni sulle procedure consigliate per lavorare con i 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 la propria applicazione, accedere all'interfaccia di amministrazione di Microsoft Entra e passare a Applicazioni>Registrazioni app. Selezionare quindi + Nuova registrazione.

    Screenshot del pannello Registrazioni app con un pulsante denominato Nuova registrazione evidenziato.

  2. Nella pagina Registrare un'applicazione visualizzata immettere un'applicazione significativa Nome visualizzata agli utenti dell'app, ad esempio Woodgrove Groceries. In Tipi di account supportati selezionare Account solo in questa directory organizzativa. Per Piattaforma selezionare l'opzione Web e immettere l'app URI di reindirizzamento. 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 del pannello Registra un'applicazione con account in questa directory organizzativa evidenziata solo per Chi può usare questa applicazione o accedere a questa API? e 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 applicazione (client) da usare nel codice sorgente dell'applicazione.

    Screenshot delle registrazioni dell'app con Panoramica nel riquadro di spostamento a sinistra evidenziato. L'ID applicazione (client) è evidenziato anche in Essentials.

  4. Per aggiungere altri URL di reindirizzamento o un URL di disconnessione front-channel, in Gestisciselezionare Autenticazione. L'URL di disconnessione front-channel è la posizione in cui viene inviata una richiesta per cancellare i dati della sessione dell'utente. Questa operazione è necessaria per il corretto funzionamento del Single Sign-Out.

    Screenshot del 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 del pannello Certificati e segreti in Registrazioni app in cui sono presenti zero certificati ed evidenzia 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 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 le autorizzazioni API e quindi selezionare Aggiungi un'autorizzazione.

    Screenshot delle autorizzazioni API in Registrazioni app con un pulsante denominato Aggiungi un'autorizzazione evidenziata.

  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, in sezione Selezionare le autorizzazioni cercare e selezionare sia openid che le autorizzazioni di offline_access. Per completare, selezionare Aggiungi autorizzazioni.

    Screenshot del riquadro Richiedi autorizzazioni API aperto a destra con un gruppo di scelta denominato Autorizzazioni delegate evidenziato e autorizzazioni per offline_access e openid archiviato 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.

    Molto bene. 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 dell'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. Ad 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 il {appId} con l'app appId dalla chiamata precedente (non con 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 di id. Ad 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 il {service-principal-id} con l'id dell'entità servizio copiato nel passaggio precedente. Sostituire il {graph-service-principal-id} con l'id dell'entità servizio 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 più elevato di sicurezza, si consiglia di usare un certificato (anziché un segreto client) come credenziale. Per ottenere il segreto client, eseguire la richiesta seguente. Sostituire il {graph-service-principal-id} con il appId con il valore appId del primo passaggio.

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

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