Udostępnij za pomocą


Samouczek: Wyodrębnianie danych użytkownika za pomocą Angular SPA

Dotyczy: Zielone koło z białym symbolem zaznaczenia, które wskazuje, że następująca treść dotyczy najemców pracowników. Najemcy pracowników Zielone koło z białym symbolem zaznaczenia, które wskazuje, że następująca treść dotyczy najemców zewnętrznych. Najemcy zewnętrzni (dowiedz się więcej)

Ten samouczek jest ostatnią częścią serii, która demonstruje tworzenie jednostronicowej aplikacji angular (SPA) i dodawanie uwierzytelniania przy użyciu platformy tożsamości firmy Microsoft. W części 2 tej serii utworzono SPA Angular i przygotowano je do uwierzytelniania z dzierżawcą dla zespołu.

W tym samouczku nauczysz się

  • Dodaj przetwarzanie danych do swojej aplikacji Angular.
  • Przetestuj aplikację i wyodrębnij dane użytkownika.

Warunki wstępne

Wyodrębnianie danych do wyświetlenia w interfejsie użytkownika aplikacji

Aby skonfigurować aplikację Angular do interakcji z interfejsem API programu Microsoft Graph, wykonaj następujące kroki:

  1. Otwórz plik src/app/profile/profile.component.ts i zastąp zawartość następującym fragmentem kodu:

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

    W ramach Angulara ProfileComponent pobiera dane profilu użytkownika z punktu końcowego /me usługi Microsoft Graph. Definiuje ProfileType, aby zdefiniować właściwości struktury, takie jak displayName i mail. W ngOnInitużywa HttpClient do wysyłania żądania GET, przypisując odpowiedź do profile. Pobiera również i przechowuje czas wygaśnięcia tokenu z localStorage w tokenExpiration.

  2. Otwórz plik src/app/profile/profile.component.html i zastąp zawartość następującym fragmentem kodu:

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

    Ten kod definiuje szablon HTML, który wyświetla informacje o profilu użytkownika przy użyciu składni interpolacji platformy Angular w celu powiązania właściwości z obiektu profile (na przykład businessPhones, displayName, jobTitle). Pokazuje również wartość tokenExpiration i zawiera notatkę z informacją, że odświeżanie strony będzie używać buforowanego tokenu dostępu do momentu zbliżania się do wygaśnięcia, po którym zostanie zażądany nowy token.

Testowanie aplikacji

Aby aplikacja działała, musisz uruchomić aplikację Angular i zalogować się, aby uwierzytelnić się za pomocą dzierżawy Microsoft Entra i wyodrębnić dane użytkowników.

Aby przetestować aplikację, wykonaj następujące kroki:

  1. Uruchom aplikację Angular, wykonując następujące polecenie w terminalu:

    ng serve --open
    
  2. Wybierz przycisk Zaloguj się do, aby uwierzytelnić się w dzierżawie Microsoft Entra.

  3. Po zalogowaniu się, wybierz link Wyświetl profil, aby przejść do strony profilu. Sprawdź, czy są wyświetlane informacje o profilu użytkownika, w tym imię i nazwisko użytkownika, adres e-mail, stanowisko i inne szczegóły.

    Zrzut ekranu przedstawiający aplikację JavaScript przedstawiającą wyniki wywołania interfejsu API.

  4. Wybierz przycisk Wyloguj się, aby wylogować się z aplikacji.

Następne kroki

Dowiedz się, jak używać platformy tożsamości firmy Microsoft, korzystając z poniższej serii samouczków, aby dowiedzieć się, jak utworzyć internetowy interfejs API.