Bagikan melalui


Tutorial: Mengekstrak data pengguna dengan Angular SPA

Berlaku untuk: Penyewa tenaga kerja (Lingkaran hijau dengan simbol tanda centang putih yang menunjukkan konten berikut berlaku untuk penyewa tenaga kerja.) Penyewa eksternal (Lingkaran hijau dengan simbol tanda centang putih yang menunjukkan konten berikut berlaku untuk penyewa eksternal.) (pelajari selengkapnya)

Tutorial ini adalah bagian akhir dari seri yang menunjukkan pembuatan aplikasi satu halaman (SPA) Angular dan menambahkan autentikasi menggunakan platform identitas Microsoft. Di Bagian 2 dari seri ini, Anda membuat Angular SPA dan menyiapkannya untuk autentikasi dengan tenant kerja Anda.

Dalam tutorial ini, Anda

  • Tambahkan pemrosesan data ke aplikasi Angular Anda.
  • Uji aplikasi dan ekstrak data pengguna.

Prasyarat

Mengekstrak data untuk dilihat di antarmuka pengguna aplikasi

Untuk mengonfigurasi aplikasi Angular Anda untuk berinteraksi dengan Microsoft Graph API, selesaikan langkah-langkah berikut:

  1. Buka file src/app/profile/profile.component.ts dan ganti konten dengan cuplikan kode berikut:

    // 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 di Angular mengambil data profil pengguna dari endpoint /me Microsoft Graph. Ini mendefinisikan ProfileType untuk menyusun properti seperti displayName dan mail. Dalam ngOnInit, ia menggunakan HttpClient untuk mengirim permintaan GET, menetapkan respons ke profile. Ini juga mengambil dan menyimpan waktu kedaluwarsa token dari localStorage di tokenExpiration.

  2. Buka file src/app/profile/profile.component.html dan ganti konten dengan cuplikan kode berikut:

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

    Kode ini menentukan templat HTML yang menampilkan informasi profil pengguna, menggunakan sintaks interpolasi Angular untuk mengikat properti dari objek profile (Misalnya,, businessPhones, displayName, jobTitle). Ini juga menunjukkan nilai tokenExpiration dan menyertakan catatan yang menyatakan bahwa me-refresh halaman akan menggunakan token akses yang di-cache sampai mendekati kedaluwarsa, setelah itu token baru akan diminta.

Menguji aplikasi

Agar aplikasi berfungsi, Anda perlu menjalankan aplikasi Angular dan masuk untuk mengautentikasi dengan penyewa Microsoft Entra Anda dan mengekstrak data pengguna.

Untuk menguji aplikasi, selesaikan langkah-langkah berikut:

  1. Jalankan aplikasi Angular dengan menjalankan perintah berikut di terminal:

    ng serve --open
    
  2. Pilih tombol Masuk untuk mengautentikasi dengan tenant Microsoft Entra Anda.

  3. Setelah masuk, pilih tautan Tampilkan Profil untuk menavigasi ke halaman Profil. Verifikasi bahwa informasi profil pengguna ditampilkan, termasuk nama pengguna, email, jabatan, dan detail lainnya.

    Cuplikan layar Aplikasi JavaScript yang menggambarkan hasil panggilan API.

  4. Pilih tombol Keluar untuk keluar dari aplikasi.

Langkah berikutnya

Pelajari cara menggunakan platform identitas Microsoft dengan mencoba seri tutorial berikut tentang cara membangun API web.