Registrare un'applicazione
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!
Per registrare un'applicazione personalizzata, accedere all'interfaccia di amministrazione di Microsoft Entra e passare ad Applicazioni>Registrazioni app. Selezionare quindi + Nuova registrazione.
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.
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.
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.
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 quindi Aggiungi.
Nei passaggi seguenti verrà aggiunta l'autorizzazione necessaria per l'applicazione Web. In Gestisci selezionare Autorizzazioni API, 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, nella sezione Seleziona autorizzazioni, cercare e selezionare sia le autorizzazioni openid che 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ì.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",
...
}
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 {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"
}