Condividi tramite


Guida introduttiva: App console .NET che accede a un'API Web protetta

Questa guida introduttiva usa un'applicazione console .NET di esempio per accedere a un'API Web protetta come propria identità usando Microsoft Authentication Library (MSAL) per .NET. L'applicazione è un'applicazione daemon, che è un'applicazione client riservata e usa il flusso OAuth delle credenziali client per ottenere un token di accesso per chiamare l'API Microsoft Graph.

Prerequisiti

Registrare l'applicazione e gli identificatori del record

Per completare la registrazione indicare il nome dell'applicazione e specificare i tipi di account supportati. Dopo la registrazione, nel riquadro Panoramica dell'applicazione vengono visualizzati gli identificatori necessari nel codice sorgente dell'applicazione.

  1. Accedi all'Interfaccia di amministrazione di Microsoft Entra.

  2. Se si ha accesso a più tenant, usare l'icona Impostazioni nel menu in alto per passare al tenant in cui si vuole registrare l'applicazione dal menu Directory e sottoscrizioni.

  3. Passare a Identità>Applicazioni>Registrazioni app e selezionare Nuova registrazione.

  4. Immettere un Name per l'applicazione, ad esempio identity-client-daemon-app.

  5. Per Tipi di account supportati selezionare Account solo in questa directory dell'organizzazione. Per informazioni sui diversi tipi di account selezionare l'opzione Suggerimenti per la scelta.

  6. Selezionare Registra.

    Screenshot che mostra come immettere un nome e selezionare il tipo di account nell'interfaccia di amministrazione di Microsoft Entra.

  7. Al termine della registrazione viene visualizzato il riquadro Panoramica dell'applicazione. Registrare l'ID directory (tenant), l'ID applicazione (client) e l’ID oggetto da usare nel codice sorgente dell'applicazione.

    Screenshot che mostra i valori dell'identificatore nella pagina di panoramica dell'interfaccia di amministrazione di Microsoft Entra.

    Nota

    I Tipi di account supportati possono essere modificati facendo riferimento a Modificare gli account supportati da un'applicazione.

Creare un segreto client

  1. Nell'interfaccia di amministrazione di Microsoft Entra passare a Identità>Applicazioni>Registrazioni app.
  2. Selezionare l'applicazione registrata in precedenza.
  3. Nel riquadro Panoramica dell'applicazione selezionare Certificati e segreti>Nuovo segreto client.
  4. Immettere una descrizione per il segreto nel campo Descrizione.
  5. Selezionare un periodo di scadenza per il segreto.
  6. Selezionare Aggiungi.
  7. Registrare il Valore del segreto client. Il valore viene visualizzato una sola volta, quindi assicurarsi di registrarlo.

Clonare o scaricare l'applicazione di esempio

Per ottenere l'applicazione di esempio, è possibile clonarla da GitHub o scaricarla come file .zip.

  • Per clonare l'esempio, aprire un prompt dei comandi, passare alla posizione in cui si vuole creare il progetto e immettere il comando seguente:

    git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
    
  • Scaricare il file .zip. Estrarlo in un percorso di file in cui la lunghezza del nome è inferiore a 260 caratteri.

Configurare il progetto

  1. Nell'IDE aprire la cartella del progetto ms-identity-docs-code-dotnet/console-daemon, contenente l'esempio.

  2. Aprire Program.cs e sostituire il contenuto del file con il frammento di codice seguente;

     // Full directory URL, in the form of https://login.microsoftonline.com/<tenant_id>
     Authority = " https://login.microsoftonline.com/Enter_the_tenant_ID_obtained_from_the_Microsoft_Entra_admin_center",
     // 'Enter the client ID obtained from the Microsoft Entra admin center
     ClientId = "Enter the client ID obtained from the Microsoft Entra admin center",
     // Client secret 'Value' (not its ID) from 'Client secrets' in the Microsoft Entra admin center
     ClientSecret = "Enter the client secret value obtained from the Microsoft Entra admin center",
     // Client 'Object ID' of app registration in Microsoft Entra admin center - this value is a GUID
     ClientObjectId = "Enter the client Object ID obtained from the Microsoft Entra admin center"
    
    • Authority - L'autorità è un URL che indica una directory da cui MSAL può richiedere token. Sostituire Enter_the_tenant_ID con il valore ID directory (tenant) registrato in precedenza.
    • ClientId - L’identificatore dell'applicazione, detto anche client. Sostituire il testo tra virgolette con il valore Application (client) ID registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.
    • ClientSecret - Il segreto client creato per l'applicazione nell'interfaccia di amministrazione di Microsoft Entra. Immettere il valore del segreto client.
    • ClientObjectId - ID dell’oggetto dell'applicazione client. Sostituire il testo tra virgolette con il valore Object ID registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.

Eseguire l'applicazione

  1. In un terminale passare alla directory del progetto ms-identity-docs-code-dotnet/console-daemon.

  2. Eseguire il comando seguente per compilare ed eseguire l'applicazione:

    dotnet run
    
  3. L'applicazione viene eseguita e visualizza una risposta simile alla seguente (abbreviata per brevità):

    {
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity",
    "id": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "deletedDateTime": null,
    "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "applicationTemplateId": null,
    "disabledByMicrosoftStatus": null,
    "createdDateTime": "2021-01-17T15:30:55Z",
    "displayName": "identity-dotnet-console-app",
    "description": null,
    "groupMembershipClaims": null,
    ...
    }