Dela via


Självstudie: Extrahera användardata med ett Angular SPA

Gäller för: Grön cirkel med en vit bockmarkeringssymbol som anger att följande innehåll gäller för personalklienter.Personalklienter Grön cirkel med en vit bockmarkeringssymbol som anger att följande innehåll gäller för externa klienter. Externa klienter (läs mer)

Den här självstudien är den sista delen i en serie som visar hur du skapar ett Angular-ensidesprogram (SPA) och lägger till autentisering med hjälp av Microsofts identitetsplattform. I del 2 av den här serienskapade du ett Angular SPA och förberedde det för autentisering med din företagsorganisation.

I den här självstudien får du

  • Lägg till databearbetning i ditt Angular-program.
  • Testa programmet och extrahera användardata.

Förutsättningar

Extrahera data som ska visas i programmets användargränssnitt

Utför följande steg för att konfigurera angular-programmet så att det interagerar med Microsoft Graph-API:et:

  1. Öppna filen src/app/profile/profile.component.ts och ersätt innehållet med följande kodfragment:

    // 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')!;
      }
    }
    

    ProfileComponent i Angular hämtar användarprofildata från Microsoft Graphs /me slutpunkt. Den definierar ProfileType för att strukturera egenskaper som displayName och mail. I ngOnInitanvänder den HttpClient för att skicka en GET-begäran och tilldelar svaret till profile. Den hämtar och lagrar också förfallotiden för token från localStorage i tokenExpiration.

  2. Öppna filen src/app/profile/profile.component.html och ersätt innehållet med följande kodfragment:

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

    Den här koden definierar en HTML-mall som visar användarprofilinformation med hjälp av Angulars interpolationssyntax för att binda egenskaper från profile-objektet (till exempel businessPhones, displayName, jobTitle). Det visar också värdet för tokenExpiration och innehåller en anteckning om att uppdatering av sidan använder den cachelagrade åtkomsttoken tills den närmar sig förfallodatum, varefter en ny token begärs.

Testa programmet

För att programmet ska fungera måste du köra Angular-programmet och logga in för att autentisera med din Microsoft Entra-klientorganisation och extrahera användardata.

Utför följande steg för att testa programmet:

  1. Kör Angular-programmet genom att köra följande kommando i terminalen:

    ng serve --open
    
  2. Välj knappen Logga in för att autentisera med din Microsoft Entra-klientorganisation.

  3. När du har loggat in väljer du länken Visa profil för att navigera till sidan profil. Kontrollera att användarprofilinformationen visas, inklusive användarens namn, e-post, befattning och annan information.

    Skärmbild av JavaScript-appen som visar resultatet av API-anropet.

  4. Välj knappen Logga ut för att logga ut från programmet.

Nästa steg

Lär dig hur du använder Microsofts identitetsplattform genom att prova följande självstudieserie om hur du skapar ett webb-API.