Compartir a través de


Inicio rápido: Inicio de sesión de usuarios en una aplicación web de ejemplo

Se aplica a: Un círculo verde con un símbolo de marca de verificación blanca que indica que el siguiente contenido se aplica a los inquilinos laborales. Inquilinos laborales Un círculo verde con un símbolo de marca de verificación blanca que indica que el siguiente contenido se aplica a los inquilinos externos. Inquilinos externos (obtén más información)

En este inicio rápido, usa una aplicación web de ejemplo para mostrarte cómo realizar el inicio de sesión de los usuarios y realizar llamadas a Microsoft Graph API en el arrendatario de tu personal. La aplicación de ejemplo usa la biblioteca de autenticación de Microsoft para controlar la autenticación.

Antes de empezar, use el selector Elegir un tipo de inquilino en la parte superior de esta página para seleccionar el tipo de inquilino. Microsoft Entra ID proporciona dos configuraciones de inquilino, recursos y externa. Una configuración de entorno de trabajo está destinada a los empleados, las aplicaciones internas y otros recursos de la organización. Un inquilino externo es para las aplicaciones orientadas al cliente.

Prerrequisitos

  • Una cuenta de Azure con una suscripción activa. Si aún no tiene una, cree una cuenta de forma gratuita.
  • Esta cuenta de Azure debe tener permisos para administrar aplicaciones. Cualquiera de los siguientes roles de Microsoft Entra incluye los permisos necesarios:
    • Administrador de aplicaciones
    • Desarrollador de aplicaciones
  • Un inquilino trabajador Puede usar el directorio predeterminado o configurar un nuevo inquilino.
  • Visual Studio Code u otro editor de código.

Clonar o descargar una aplicación web de ejemplo

Para obtener la aplicación de ejemplo, puede clonarla desde GitHub o descargarla como un archivo .zip .

  • Descargue el archivo .zip, luego extraerlo en una ruta de archivo donde la longitud del nombre sea inferior a 260 caracteres o clonar el repositorio:

  • Para clonar la muestra, abra un símbolo del sistema y desplácese hasta donde desea crear el proyecto, e introduzca el siguiente comando:

    git clone https://github.com/Azure-Samples/ms-identity-node.git
    

Configuración de la aplicación web de ejemplo

Para que inicies sesión a usuarios con la aplicación de ejemplo, debes actualizarla con los detalles de tu aplicación y de la entidad.

En la carpeta ms-identity-node , abra el archivo App/.env y reemplace los siguientes marcadores de posición:

Variable Description Ejemplos
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 usted registró A1b-C2d_E3f.H4i,J5k?L6m!N7o-P8q_R9s.T0u
Enter_the_Graph_Endpoint_Here La instancia en la 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 aleatoria de caracteres que se usa para firmar la cookie de sesión rápida A1b-C2d_E3f.H4...

Después de realizar cambios, el archivo debe tener un aspecto similar al siguiente fragmento de código:

CLOUD_INSTANCE=https://login.microsoftonline.com/
TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee
CLIENT_ID=00001111-aaaa-2222-bbbb-3333cccc4444
CLIENT_SECRET=A1b-C2d_E3f.H4...

REDIRECT_URI=http://localhost:3000/auth/redirect
POST_LOGOUT_REDIRECT_URI=http://localhost:3000

GRAPH_API_ENDPOINT=https://graph.microsoft.com/

EXPRESS_SESSION_SECRET=6DP6v09eLiW7f1E65B8k

Ejecución y prueba de una aplicación web de ejemplo

Ha configurado la aplicación de ejemplo. Puede continuar para ejecutarlo y probarlo.

  1. Para iniciar el servidor, ejecute los siguientes comandos desde el directorio del proyecto:

    cd App
    npm install
    npm start
    
  2. Ir a http://localhost:3000/.

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

Funcionamiento de la aplicación

El ejemplo hospeda un servidor web en localhost, puerto 3000. Cuando 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, a través de la dirección URL generada por la biblioteca de nodos de MSAL. Después de que el usuario dé su consentimiento, el explorador redirige al usuario a la página principal de la aplicación, junto con un identificador y un token de acceso.

En esta guía de inicio rápido, usará una aplicación web de ejemplo para mostrar cómo los usuarios pueden iniciar sesión en su tenant externo. La aplicación de ejemplo usa la biblioteca de autenticación de Microsoft para controlar la autenticación.

Antes de empezar, use el selector Elegir un tipo de inquilino en la parte superior de esta página para seleccionar el tipo de inquilino. Microsoft Entra ID proporciona dos configuraciones de inquilino, recursos y externa. Una configuración de entorno de trabajo está destinada a los empleados, las aplicaciones internas y otros recursos de la organización. Un inquilino externo es para las aplicaciones orientadas al cliente.

Prerrequisitos

Clonar o descargar una aplicación web de ejemplo

Para obtener la aplicación de ejemplo, puede clonarla desde GitHub o descargarla como un archivo .zip:

  • Para clonar la muestra, abra un símbolo del sistema y desplácese hasta donde desea crear el proyecto, e introduzca el siguiente comando:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
    
  • Como alternativa, descargue el archivo .zip de ejemplo y extráigalo en una ruta de acceso de archivo donde la longitud del nombre de archivo sea menor a 260 caracteres.

Instalación de dependencias del proyecto

  1. Abra una ventana de consola y cambie al directorio que contiene la aplicación de ejemplo Node.js:

    cd 1-Authentication\5-sign-in-express\App
    
  2. Ejecute los siguientes comandos para instalar las dependencias de la aplicación:

    npm install
    

Configuración de la aplicación web de ejemplo

Para que los usuarios inicien sesión en la aplicación de ejemplo, debe actualizarla con los detalles de su aplicación y de su entidad.

  1. En el editor de código, abra app\authConfig.js archivo.

  2. Busque el marcador de posición:

    • Enter_the_Application_Id_Here y reemplázalo por el ID de cliente (aplicación) de la aplicación que registraste anteriormente.
    • Enter_the_Tenant_Subdomain_Here y reemplácelo por el subdominio Directorio (inquilino). Por ejemplo, si el dominio principal del cliente es contoso.onmicrosoft.com, utilice contoso. Si no tiene el nombre del inquilino, aprenda a leer los detalles del inquilino.
    • Enter_the_Client_Secret_Here y reemplácelo con el valor secreto de aplicación que copió anteriormente.

Ejecución y prueba de una aplicación web de ejemplo

Ahora puede probar el ejemplo Node.js aplicación web. Debe iniciar el servidor Node.js y acceder a él a través del explorador en http://localhost:3000.

  1. Ejecute el comando siguiente en el terminal:

    npm start 
    
  2. Abra el explorador y vaya a http://localhost:3000. Debería ver la página similar a la que aparece en la siguiente captura de pantalla:

    Captura de pantalla del inicio de sesión en una aplicación web de nodos.

  3. Una vez completada la carga de la página, seleccione Iniciar sesión cuando se le solicite.

  4. En la página de inicio de sesión, escriba su dirección de correo electrónico, seleccione Siguiente, escriba la contraseña y, a continuación, seleccione Iniciar sesión. Si no tiene una cuenta, seleccione el vínculo ¿No tiene una cuenta? Cree una, que inicia el flujo de registro.

  5. Si elige la opción de registro, después de rellenar el correo electrónico, el código de acceso único, la contraseña nueva y más detalles de la cuenta, complete todo el flujo de registro. Verá una página similar a la que aparece en la siguiente captura de pantalla. Verá una página similar si elige la opción de inicio de sesión.

    Recorte de pantalla de las notificaciones de token de identificador.

  6. Seleccione Cerrar sesión para cerrar la sesión del usuario de la aplicación web o seleccione Ver notificaciones de token de identificador para ver las notificaciones de token de identificador devueltas por Microsoft Entra.

Cómo funciona

Cuando los usuarios seleccionan el vínculo Iniciar sesión , la aplicación inicia una solicitud de autenticación y redirige a los usuarios al identificador externo de Microsoft Entra. En la página de inicio de sesión o registro que aparece, una vez que un usuario inicia sesión correctamente, o crea una cuenta, Microsoft Entra External ID devuelve un token de identificador a la aplicación. La aplicación valida el token de identificador, lee las notificaciones y devuelve una página segura a los usuarios.

Cuando los usuarios seleccionan el vínculo Cerrar sesión, la aplicación borra su sesión y, a continuación, redirige al usuario al punto de conexión de cierre de sesión de Microsoft Entra External ID para notificarle que el usuario ha cerrado la sesión.

Si desea compilar una aplicación similar al ejemplo que ha ejecutado, complete los pasos descritos en El artículo Inicio de sesión de usuarios en su propia aplicación web de Node.js .