Guida introduttiva: Accedere agli utenti e chiamare l'API Microsoft Graph da un'app Web ASP.NET Core

Questa guida introduttiva usa un'app Web di esempio ASP.NET Core per illustrare come accedere gli utenti usando il flusso del codice di autorizzazione e chiamare l'API Microsoft Graph. L'esempio usa Microsoft Authentication Library per .NET e Microsoft Identity Web per gestire l'autenticazione.

Prerequisiti

Registrare l'applicazione e gli identificatori di record

Per completare la registrazione, specificare un 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 Applicazioni> di identità>Registrazioni app, selezionare Nuova registrazione.

  4. Immettere un nome per l'applicazione, ad esempio identity-client-web-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 ?

  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) e l'ID applicazione (client) 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.

Aggiungere un URI di reindirizzamento della piattaforma

Per specificare il tipo di app per la registrazione dell'app, seguire questa procedura:

  1. In Gestisci selezionare Autenticazione.
  2. Nella pagina Configurazioni della piattaforma selezionare Aggiungi una piattaforma e quindi selezionare l'opzione Web .
  3. Per gli URI di reindirizzamento immettere https://localhost:5001/signin-oidc.
  4. In URL di disconnessione del canale anteriore immettere https://localhost:5001/signout-callback-oidc per la disconnessione.
  5. Selezionare Configura per salvare le modifiche.

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 e 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.

Creare e caricare un certificato autofirmato

  1. Usando il terminale, usare i comandi seguenti per passare alla creazione di un certificato autofirmato nella directory del progetto.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Tornare all'interfaccia di amministrazione di Microsoft Entra e in Gestisci selezionare Certificati e segreti>Carica certificato.

  3. Selezionare la scheda Certificati (0) e quindi selezionare Carica certificato.

  4. Viene visualizzato un riquadro Carica certificato . Usare l'icona per passare al file di certificato creato nel passaggio precedente e selezionare Apri.

  5. Immettere una descrizione per il certificato, ad esempio Certificato per aspnet-web-app e selezionare Aggiungi.

  6. Registrare il valore identificazione personale da usare nel passaggio successivo.

Configurare il progetto

  1. Nell'IDE aprire la cartella del progetto ms-identity-docs-code-dotnet \web-app-aspnet contenente l'esempio.

  2. Aprire appsettings.json e sostituire il contenuto del file con il frammento di codice seguente;

    {
    "AzureAd": {
      "Instance": "https://login.microsoftonline.com/",
      "TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "ClientCertificates": [
        {
          "SourceType": "StoreWithThumbprint",
          "CertificateStorePath": "CurrentUser/My",
          "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
        }   
      ],
      "CallbackPath": "/signin-oidc"
    },
      "DownstreamApi": {
        "BaseUrl": "https://graph.microsoft.com/v1.0/",
        "RelativePath": "me",
        "Scopes": [ 
          "user.read" 
        ]
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning"
        }
      },
      "AllowedHosts": "*"
    }
    
    • TenantId - Identificatore del tenant in cui è registrata l'applicazione. Sostituire il testo tra virgolette con l'oggetto Directory (tenant) ID registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.
    • ClientId - Identificatore dell'applicazione, detto anche client. Sostituire il testo tra virgolette con il Application (client) ID valore registrato in precedenza dalla pagina di panoramica dell'applicazione registrata.
    • ClientCertificates - Viene usato un certificato autofirmato per l'autenticazione nell'applicazione. Sostituire il testo di CertificateThumbprint con l'identificazione personale del certificato registrato in precedenza.

Eseguire l'applicazione ed eseguire l'accesso

  1. Nella directory del progetto usare il terminale per immettere il comando seguente;

    dotnet run
    
  2. Copiare l'URL https visualizzato nel terminale, ad esempio , https://localhost:5001e incollarlo in un browser. È consigliabile usare una sessione privata o in incognito del browser.

  3. Seguire i passaggi e immettere i dettagli necessari per accedere con l'account Microsoft. Viene richiesto di fornire un indirizzo di posta elettronica in modo che sia possibile inviare un passcode una volta all'utente. Immettere il codice quando richiesto.

  4. L'applicazione richiede l'autorizzazione per mantenere l'accesso ai dati a cui è stato concesso l'accesso e per accedere e leggere il profilo. Selezionare Accetta.

  5. Viene visualizzata la schermata seguente, che indica che è stato eseguito l'accesso all'applicazione e che è stato eseguito l'accesso ai dettagli del profilo dall'API Microsoft Graph.

    Screenshot che illustra i risultati della chiamata API.

Disconnettersi dall'applicazione

  1. Trovare il collegamento Disconnetti nell'angolo superiore destro della pagina e selezionarlo.
  2. Viene richiesto di selezionare un account da cui disconnettersi. Selezionare l'account usato per accedere.
  3. Viene visualizzato un messaggio che indica che si è disconnesso. È ora possibile chiudere la finestra del browser.