Registrare un'applicazione
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!
Per registrare la propria applicazione, accedere all'interfaccia di amministrazione di Microsoft Entra e passare a Applicazioni>Registrazioni app. Selezionare quindi + Nuova registrazione.
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.
Al termine della registrazione, viene visualizzato il riquadro Panoramica dell'applicazione. Registrare l'ID applicazione (client) da usare nel codice sorgente dell'applicazione.
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.
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.
Selezionare i file che si vogliono caricare. Il tipo di file deve essere uno dei seguenti: .cer, .pem, .crt. Selezionare Aggiungi.
Nei passaggi seguenti verrà aggiunta l'autorizzazione necessaria per l'applicazione Web. In Gestisci selezionare le autorizzazioni API e quindi selezionare Aggiungi un'autorizzazione.
In Richiedi autorizzazioni API selezionare la scheda API Microsoft e quindi selezionare Microsoft Graph.
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.
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 Sì.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",
...
}
3. Consenso alle autorizzazioni necessarie
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"
}