Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Se aplica a:
Círculo verde de inquilinos de recursos
Inquilinos externos (más información)
En este tutorial, aprenderá a crear una aplicación web node/Express.js que inicie la sesión de los usuarios en una aplicación orientada al cliente en un inquilino externo o empleados de un inquilino de personal. En el tutorial también se muestra cómo adquirir un token de acceso para llamar a Microsoft Graph API.
Este tutorial es la parte 1 de una serie de tres partes.
En este tutorial, lo hará;
- Configuración de un proyecto de Node.js
- Instalar dependencias
- Adición de vistas de aplicaciones y componentes de interfaz de usuario
Prerrequisitos
- 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.
- Visual Studio Code u otro editor de código.
Creación del proyecto de Node.js
En una ubicación que prefiera en el equipo, cree una carpeta para hospedar la aplicación de nodo, como ciam-sign-in-node-express-web-app.
En el terminal, cambie el directorio a la carpeta aplicación web node, como
cd ciam-sign-in-node-express-web-app, y ejecute el siguiente comando para crear un nuevo proyecto de Node.js:npm init -yEl
init -ycomando crea un archivo package.json predeterminado para el proyecto de Node.js.Cree carpetas y archivos adicionales para lograr la siguiente estructura de proyecto:
ciam-sign-in-node-express-web-app/ ├── server.js └── app.js └── authConfig.js └── package.json └── .env └── auth/ └── AuthProvider.js └── controller/ └── authController.js └── routes/ └── auth.js └── index.js └── users.js └── views/ └── layouts.hbs └── error.hbs └── id.hbs └── index.hbs └── public/stylesheets/ └── style.css
Instalación de dependencias de aplicaciones
Para instalar la identidad necesaria y Node.js paquetes npm relacionados, ejecute el siguiente comando en el terminal.
npm install express dotenv hbs express-session axios cookie-parser http-errors morgan @azure/msal-node
Compilación de componentes de la interfaz de usuario de la aplicación
En el editor de código, abra el archivo views/index.hbs y agregue el código siguiente:
<h1>{{title}}</h1> {{#if isAuthenticated }} <p>Hi {{username}}!</p> <a href="/users/id">View ID token claims</a> <br> <a href="/auth/signout">Sign out</a> {{else}} <p>Welcome to {{title}}</p> <a href="/auth/signin">Sign in</a> {{/if}}En esta vista, si el usuario está autenticado, mostramos su nombre de usuario y vínculos para visitar
/auth/signouty/users/idpuntos de conexión; de lo contrario, el usuario debe visitar el/auth/signinpunto de conexión para iniciar sesión. Definimos las rutas rápidas para estos puntos de conexión más adelante en este artículo.En el editor de código, abra el archivo views/id.hbs y agregue el código siguiente:
<h1>Azure AD for customers</h1> <h3>ID Token</h3> <table> <tbody> {{#each idTokenClaims}} <tr> <td>{{@key}}</td> <td>{{this}}</td> </tr> {{/each}} </tbody> </table> <a href="/">Go back</a>Usamos esta vista para mostrar las notificaciones del token de identificador que el id. externo de Microsoft Entra vuelve a esta aplicación después de que un usuario inicie sesión correctamente.
En el editor de código, abra el archivo views/error.hbs y agregue el código siguiente:
<h1>{{message}}</h1> <h2>{{error.status}}</h2> <pre>{{error.stack}}</pre>Usamos esta vista para mostrar los errores que se producen cuando se ejecuta la aplicación.
En el editor de código, abra el archivo views/layout.hbs y agregue el código siguiente:
<!DOCTYPE html> <html> <head> <title>{{title}}</title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> {{{content}}} </body> </html>El
layout.hbsarchivo está en el archivo de diseño. Contiene el código HTML que necesitamos en toda la vista de la aplicación.En el editor de código, abra public/stylesheets/style.css, archivo y agregue el código siguiente:
body { padding: 50px; font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; } a { color: #00B7FF; }