Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Inquilinos laborales
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.
- Registre una nueva aplicación en el Centro de administración de Microsoft Entra, configurada solo para Cuentas en este directorio organizativo. Consulte Registro de una aplicación para obtener más detalles. Registre los valores siguientes en la página Información general de la aplicación para su uso posterior:
- Id. de aplicación (cliente)
- Id. de directorio (inquilino)
- Agregue los siguientes URI de redirección mediante la configuración de la plataforma web . Consulte How to add a redirect URI in your application (Cómo agregar un URI de redirección en la aplicación ) para obtener más detalles.
-
URI de redirección:
http://localhost:3000/auth/redirect -
Dirección URL de cierre de sesión del canal frontal:
https://localhost:5001/signout-callback-oidc
-
URI de redirección:
- Agregue un secreto de cliente al registro de la aplicación. No use secretos de cliente en aplicaciones de producción. En su lugar, use certificados o credenciales federadas. Para más información, consulte Incorporación de credenciales a la aplicación.
- Node.js
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.
Para iniciar el servidor, ejecute los siguientes comandos desde el directorio del proyecto:
cd App npm install npm startIr 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.
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.
Contenido relacionado
- Aprenda a crear una aplicación web de Node.js que inicie sesión de usuarios y llame a Microsoft Graph API en Tutorial: Inicio de sesión de usuarios y adquisición de un token para Microsoft Graph en una aplicación web Node.js y Express.
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
- 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 externo. Para crear uno, elija entre los métodos siguientes:
- Use la extensión Microsoft Entra External ID para configurar un inquilino externo directamente en Visual Studio Code. (Recomendado)
- Cree un nuevo inquilino externo en el Centro de administración de Microsoft Entra.
- Flujo de usuario. Para más información, consulte Creación de flujos de usuario de registro de autoservicio para aplicaciones en inquilinos externos. Este flujo de usuario se puede usar para varias aplicaciones.
- Visual Studio Code u otro editor de código.
- Registre una nueva aplicación en el Centro de administración de Microsoft Entra, configurada solo para Cuentas en este directorio organizativo. Consulte Registro de una aplicación para obtener más detalles. Registre los valores siguientes en la página Información general de la aplicación para su uso posterior:
- Id. de aplicación (cliente)
- Id. de directorio (inquilino)
- Agregue los siguientes URI de redirección mediante la configuración de la plataforma web . Consulte How to add a redirect URI in your application (Cómo agregar un URI de redirección en la aplicación ) para obtener más detalles.
-
URI de redirección:
http://localhost:3000/auth/redirect -
Dirección URL de cierre de sesión del canal frontal:
https://localhost:5001/signout-callback-oidc
-
URI de redirección:
- Agregue un secreto de cliente al registro de la aplicación. No use secretos de cliente en aplicaciones de producción. En su lugar, use certificados o credenciales federadas. Para más información, consulte Incorporación de credenciales a la aplicación.
- Adición de la aplicación al flujo de usuario
- Node.js
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.gitComo 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
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\AppEjecute 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.
En el editor de código, abra app\authConfig.js archivo.
Busque el marcador de posición:
-
Enter_the_Application_Id_Herey reemplázalo por el ID de cliente (aplicación) de la aplicación que registraste anteriormente. -
Enter_the_Tenant_Subdomain_Herey reemplácelo por el subdominio Directorio (inquilino). Por ejemplo, si el dominio principal del cliente escontoso.onmicrosoft.com, utilicecontoso. Si no tiene el nombre del inquilino, aprenda a leer los detalles del inquilino. -
Enter_the_Client_Secret_Herey 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.
Ejecute el comando siguiente en el terminal:
npm startAbra 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:
Una vez completada la carga de la página, seleccione Iniciar sesión cuando se le solicite.
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.
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.
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 .