Condividi tramite


Esercitazione: Estrarre i dati utente con un'applicazione a pagina singola Angular

Si applica a: Cerchio verde con un simbolo di spunta bianco che indica che il contenuto seguente si applica ai tenant della forza lavoro. I tenant della forza lavoro Cerchio verde con un simbolo di spunta bianco che indica che il contenuto seguente si applica ai tenant esterni. I tenant esterni (Altre informazioni)

Questa esercitazione è la parte finale di una serie che illustra la creazione di un'applicazione a pagina singola Angular e l'aggiunta dell'autenticazione tramite Microsoft Identity Platform. Nella parte 2 di questa serie, hai creato una SPA Angular e l'hai preparata per l'autenticazione con il tenant dei tuoi dipendenti.

In questa esercitazione, tu

  • Aggiungere l'elaborazione dei dati all'applicazione Angular.
  • Testare l'applicazione ed estrarre i dati utente.

Prerequisiti

Estrarre dati da visualizzare nell'interfaccia utente dell'applicazione

Per configurare l'applicazione Angular per interagire con l'API Microsoft Graph, seguire questa procedura:

  1. Aprire il src/app/profile/profile.component.ts file e sostituire il contenuto con il frammento di codice seguente:

    // Required for Angular
    import { Component, OnInit } from '@angular/core';
    
    // Required for the HTTP GET request to Graph
    import { HttpClient } from '@angular/common/http';
    
    type ProfileType = {
      businessPhones?: string,
      displayName?: string,
      givenName?: string,
      jobTitle?: string,
      mail?: string,
      mobilePhone?: string,
      officeLocation?: string,
      preferredLanguage?: string,
      surname?: string,
      userPrincipalName?: string,
      id?: string
    }
    
    @Component({
      selector: 'app-profile',
      templateUrl: './profile.component.html'
    })
    export class ProfileComponent implements OnInit {
      profile!: ProfileType;
      tokenExpiration!: string;
    
      constructor(
        private http: HttpClient
      ) { }
    
      // When the page loads, perform an HTTP GET request from the Graph /me endpoint
      ngOnInit() {
        this.http.get('https://graph.microsoft.com/v1.0/me')
          .subscribe(profile => {
            this.profile = profile;
          });
    
        this.tokenExpiration = localStorage.getItem('tokenExpiration')!;
      }
    }
    

    In Angular, ProfileComponent recupera i dati del profilo utente dall'endpoint /me di Microsoft Graph. Definisce ProfileType per strutturare proprietà come displayName e mail. In ngOnInit, usa HttpClient per inviare una richiesta GET, assegnando la risposta a profile. Recupera e archivia anche l'ora di scadenza del token da localStorage in tokenExpiration.

  2. Aprire il src/app/profile/profile.component.html file e sostituire il contenuto con il frammento di codice seguente:

    <div class="profile">
        <p><strong>Business Phones:</strong> {{profile?.businessPhones}}</p>
        <p><strong>Display Name:</strong> {{profile?.displayName}}</p>
        <p><strong>Given Name:</strong> {{profile?.givenName}}</p>
        <p><strong>Job Title:</strong> {{profile?.jobTitle}}</p>
        <p><strong>Mail:</strong> {{profile?.mail}}</p>
        <p><strong>Mobile Phone:</strong> {{profile?.mobilePhone}}</p>
        <p><strong>Office Location:</strong> {{profile?.officeLocation}}</p>
        <p><strong>Preferred Language:</strong> {{profile?.preferredLanguage}}</p>
        <p><strong>Surname:</strong> {{profile?.surname}}</p>
        <p><strong>User Principal Name:</strong> {{profile?.userPrincipalName}}</p>
        <p><strong>Profile Id:</strong> {{profile?.id}}</p>
        <br><br>
        <p><strong>Token Expiration:</strong> {{tokenExpiration}}</p>
        <br><br>
        <p>Refreshing this page will continue to use the cached access token until it nears expiration, at which point a new access token will be requested.</p>
    </div>
    

    Questo codice definisce un modello HTML che visualizza le informazioni sul profilo utente, usando la sintassi di interpolazione di Angular per associare le proprietà dall'oggetto profile (ad esempio, businessPhones, , displayNamejobTitle). Mostra anche il tokenExpiration valore e include una nota che indica che l'aggiornamento della pagina userà il token di accesso memorizzato nella cache fino alla scadenza, dopo il quale verrà richiesto un nuovo token.

Testare l'applicazione

Affinché l'applicazione funzioni, è necessario eseguire l'applicazione Angular e accedere per eseguire l'autenticazione con il tenant di Microsoft Entra ed estrarre i dati utente.

Per testare l'applicazione, completare la procedura seguente:

  1. Eseguire l'applicazione Angular eseguendo il comando seguente nel terminale:

    ng serve --open
    
  2. Selezionare il pulsante Accedi per eseguire l'autenticazione con il tenant di Microsoft Entra.

  3. Dopo l'accesso, selezionare il collegamento Visualizza profilo per passare alla pagina Profilo . Verificare che vengano visualizzate le informazioni sul profilo utente, inclusi il nome dell'utente, l'indirizzo di posta elettronica, il titolo del processo e altri dettagli.

    Screenshot dell'app JavaScript che illustra i risultati della chiamata API.

  4. Selezionare il pulsante Disconnetti per disconnettersi dall'applicazione.

Passaggi successivi

Informazioni su come usare Microsoft Identity Platform provando la serie di esercitazioni seguente su come creare un'API Web.