Compartir a través de


Tutorial: Extracción de datos de usuario con una SPA de Angular

Se aplica a:Círculo verde con un símbolo de marca de verificación blanca. inquilinos de personal Círculo verde con un símbolo de marca de verificación blanca. inquilinos externos (más información)

Este tutorial es la parte final de una serie que muestra cómo compilar una aplicación de página única (SPA) de Angular y agregar autenticación mediante la plataforma de identidad de Microsoft. En parte 2 de esta serie, creó una SPA de Angular y la preparó para la autenticación con el inquilino de recursos.

En este tutorial, aprenderás lo siguiente:

  • Agregue el procesamiento de datos a la aplicación angular.
  • Pruebe la aplicación y extraiga los datos del usuario.

Prerrequisitos

Extracción de datos para ver en la interfaz de usuario de la aplicación

Para configurar la aplicación angular para que interactúe con Microsoft Graph API, complete los pasos siguientes:

  1. Abra el src/app/profile/profile.component.ts archivo y reemplace el contenido por el siguiente fragmento de código:

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

    El ProfileComponent en Angular captura los datos del perfil de usuario del punto de conexión de /me Microsoft Graph. Define ProfileType para estructurar propiedades como displayName y mail. En ngOnInit, usa HttpClient para enviar una solicitud GET, asignando la respuesta a profile. También recupera y almacena la hora de expiración del token de localStorage en tokenExpiration.

  2. Abra el src/app/profile/profile.component.html archivo y reemplace el contenido por el siguiente fragmento de código:

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

    Este código define una plantilla HTML que muestra información de perfil de usuario mediante la sintaxis de interpolación de Angular para enlazar propiedades desde el profile objeto (por ejemplo, businessPhones, , displayNamejobTitle). También muestra el tokenExpiration valor e incluye una nota que indica que la actualización de la página usará el token de acceso almacenado en caché hasta que se acerca a la expiración, después de lo cual se solicitará un nuevo token.

Prueba de la aplicación

Para que la aplicación funcione, debe ejecutar la aplicación angular e iniciar sesión para autenticarse con el inquilino de Microsoft Entra y extraer datos de usuario.

Para probar la aplicación, complete los pasos siguientes:

  1. Ejecute la aplicación angular ejecutando el siguiente comando en el terminal:

    ng serve --open
    
  2. Seleccione el botón Iniciar sesión para autenticarse con el inquilino de Microsoft Entra.

  3. Después de iniciar sesión, seleccione el vínculo Ver perfil para ir a la página Perfil . Compruebe que se muestra la información del perfil de usuario, incluido el nombre del usuario, el correo electrónico, el título del trabajo y otros detalles.

    Captura de pantalla de la aplicación JavaScript que muestra los resultados de la llamada a la API.

  4. Seleccione el botón Cerrar sesión para cerrar la sesión de la aplicación.

Pasos siguientes

Aprenda a usar la plataforma de identidad de Microsoft probando la siguiente serie de tutoriales sobre cómo crear una API web.