Inicio rápido: Inicie sesión por los usuarios y llame a Microsoft Graph API desde una aplicación web de Node.js
Artikulua
En este inicio rápido se usa una aplicación web de ejemplo de Node.js para mostrar cómo conectar usuarios mediante el flujo de código de autorización y llamar a Microsoft Graph API. En el ejemplo se usa el nodo MSAL para controlar la autenticación.
Registrar la aplicación y los identificadores de registro
Para completar el registro, proporcione un nombre a la aplicación y especifique los tipos de cuenta admitidos. Una vez registrada, el panel Información general de la aplicación muestra los identificadores necesarios en el código fuente de la aplicación.
Si tiene acceso a varios inquilinos, use el icono Configuración del menú superior para cambiar al inquilino en el que desea registrar la aplicación desde el menú Directorios y suscripciones.
Vaya a Identity>Aplicaciones>Registros de aplicaciones, seleccione Nuevo registro.
Escriba un nombre para la aplicación, como identity-client-web-app.
Para la opción Tipos de cuenta admitidos, seleccione Solo las cuentas de este directorio organizativo. Para obtener información sobre los distintos tipos de cuenta, selecciona la opción Ayudarme a elegir.
Seleccione Registrar.
El panel Información general de la aplicación se muestra cuando se completa el registro. Registrar el id. de directorio (inquilino) y el id. de aplicación (cliente) que se usará en el código fuente de la aplicación.
Agregar un URI de redirección de plataforma y crear un secreto de cliente
Para especificar el tipo de aplicación en el registro de la aplicación, siga estos pasos:
En Administrar, seleccione Autenticación.
En la página Configuraciones de plataforma, seleccione Agregar una plataforma y, a continuación, seleccione la opción Web.
Para URI de redireccionamiento, escriba http://localhost:3000/auth/redirect.
En Dirección URL de cierre de sesión del canal frontal, escriba https://localhost:5001/signout-callback-oidc para cerrar sesión.
Selecciona Configurar para guardar los cambios.
En Administrar, seleccione Certificados y secretos>Secretos de los clientes>Nuevo secreto de cliente. Elija una descripción y, a continuación, seleccione Agregar.
Anote el valor de Secreto de cliente para usarlo posteriormente. Este valor solo se muestra una vez.
Clone o descargue la aplicación de ejemplo
Para obtener la aplicación de ejemplo, puede clonarla desde GitHub o descargarla como archivo .zip.
Para clonar la muestra, abra un símbolo del sistema y navegue hasta donde desea crear el proyecto, e introduzca el siguiente comando:
Descargue el archivo .zip. Extráigalo en una ruta de acceso de archivo donde la longitud del nombre sea inferior a 260 caracteres.
Configuración del proyecto
Extraiga el proyecto, abra la carpeta ms-identity-node-main y, después, abra el archivo .env en la carpeta App. Sustituya los valores anteriores como se indica a continuación:
Variable
Descripción
Por ejemplo
Enter_the_Cloud_Instance_Id_Here
Instancia en la nube de Azure en la que se registra la aplicación
https://login.microsoftonline.com/ (incluya la barra diagonal final)
Enter_the_Tenant_Info_here
Id. de inquilino o dominio principal
contoso.microsoft.com o aaaabbbb-0000-cccc-1111-dddd2222eeee
Enter_the_Application_Id_Here
Id. de cliente de la aplicación que ha registrado
00001111-aaaa-2222-bbbb-3333cccc4444
Enter_the_Client_Secret_Here
Secreto de cliente de la aplicación que ha registrado
A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
Enter_the_Graph_Endpoint_Here
Instancia de nube de Microsoft Graph API a la que llama la aplicación
https://graph.microsoft.com/ (incluya la barra diagonal final)
Enter_the_Express_Session_Secret_Here
Cadena de caracteres aleatoria que se usa para firmar la cookie de sesión rápida
Para iniciar el servidor, ejecute los siguientes comandos desde el directorio del proyecto:
Consola
cd App
npm install
npm start
Vaya a http://localhost:3000/.
Seleccione Iniciar sesión para comenzar el proceso de inicio de sesión.
La primera vez que inicie sesión, se le pedirá que dé su consentimiento para permitir que la aplicación inicie sesión y acceda a su perfil. Una vez que haya iniciado sesión correctamente, se le redirigirá a la página principal de la aplicación.
Más información
Funcionamiento del ejemplo
El ejemplo hospeda un servidor web en localhost, puerto 3000. Si un explorador web accede a esta dirección, la aplicación representa la página principal. Una vez que el usuario selecciona Iniciar sesión, la aplicación redirige el explorador a la pantalla de inicio de sesión de Microsoft Entra, para lo que se usa la dirección URL generada por la biblioteca MSAL Node. Una vez que el usuario da su consentimiento, el explorador lo redirige a la página principal de la aplicación, junto con un identificador y un token de acceso.
MSAL Node
La biblioteca MSAL Node inicia la sesión de los usuarios y solicita los tokens que se usan para acceder a una API protegida por la plataforma de identidad de Microsoft. Puede descargar la versión más reciente mediante el administrador de paquetes de Node.js (npm):
Consola
npm install @azure/msal-node
Paso siguiente
Para más información, cree una aplicación web de ASP.NET Core que inicie la sesión de los usuarios con la siguiente serie de tutoriales de varias partes:
Muestre las características de Microsoft Entra ID para modernizar las soluciones de identidad, implementar soluciones híbridas e implementar la gobernanza de identidades.