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 de personal
inquilinos externos (más información)
En este inicio rápido, usará una aplicación de página única (SPA) de ejemplo para mostrar cómo iniciar sesión a los usuarios mediante el flujo de código de autorización con la clave de prueba para Intercambio de código (PKCE) y llamar a Microsoft Graph API. En el ejemplo se usa la biblioteca de autenticación de Microsoft para controlar la autenticación.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Si no tienes una, crea una cuenta gratis.
- 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 de aplicaciones de página única. 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/
- URI de redirección:
- Node.js
Clonar o descargar la aplicación de ejemplo
Para obtener la aplicación de ejemplo, puede clonarla desde GitHub o descargarla como un archivo .zip.
Para clonar el ejemplo, abra un símbolo del sistema y vaya a dónde desea crear el proyecto y escriba el siguiente comando:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-javascript.git
Descargue el archivo .zip. Extráigalo en una ruta de archivo donde la longitud del nombre sea inferior a 260 caracteres.
Configuración del proyecto
En el IDE, abra la carpeta del proyecto, ms-identity-docs-code-javascript, que contiene el ejemplo.
Abra vanillajs-spa/App/public/authConfig.js y actualice los valores siguientes con la información registrada en el centro de administración.
/** * Configuration object to be passed to MSAL instance on creation. * For a full list of MSAL.js configuration parameters, visit: * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md */ const msalConfig = { auth: { clientId: "Enter_the_Application_Id_Here", // WORKFORCE TENANT authority: "https://login.microsoftonline.com/Enter_the_Tenant_Info_Here", // Replace the placeholder with your tenant info // EXTERNAL TENANT // authority: "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/", // Replace the placeholder with your tenant subdomain redirectUri: '/', // You must register this URI on App Registration. Defaults to window.location.href e.g. http://localhost:3000/ navigateToLoginRequestUrl: true, // If "true", will navigate back to the original request location before processing the auth code response. }, cache: { cacheLocation: 'sessionStorage', // Configures cache location. "sessionStorage" is more secure, but "localStorage" gives you SSO. storeAuthStateInCookie: false, // set this to true if you have to support IE }, system: { loggerOptions: { loggerCallback: (level, message, containsPii) => { if (containsPii) { return; } switch (level) { case msal.LogLevel.Error: console.error(message); return; case msal.LogLevel.Info: console.info(message); return; case msal.LogLevel.Verbose: console.debug(message); return; case msal.LogLevel.Warning: console.warn(message); return; } }, }, }, }; /** * Scopes you add here will be prompted for user consent during sign-in. * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request. * For more information about OIDC scopes, visit: * https://learn.microsoft.com/en-us/entra/identity-platform/permissions-consent-overview#openid-connect-scopes */ const loginRequest = { scopes: ["User.Read"], }; /** * An optional silentRequest object can be used to achieve silent SSO * between applications by providing a "login_hint" property. */ // const silentRequest = { // scopes: ["openid", "profile"], // loginHint: "example@domain.net" // }; // exporting config object for jest if (typeof exports !== 'undefined') { module.exports = { msalConfig: msalConfig, loginRequest: loginRequest, }; }
clientId
: el identificador de la aplicación, también conocido como el cliente. Reemplace el texto entre comillas por el valor de Id. de aplicación (cliente) que se registró anteriormente.authority
: la autoridad es una dirección URL que indica un directorio desde el que MSAL puede solicitar tokens. Reemplace Enter_the_Tenant_Info_Here por el valor de Identificador de directorio (inquilino) que se registró anteriormente.redirectUri
: el identificador URI de redireccionamiento de la aplicación. Si es necesario, reemplace el texto entre comillas por el URI de redirección que se registró anteriormente.
Ejecuta la aplicación e inicia y cierra sesión.
Ejecute el proyecto con un servidor web mediante Node.js:
Para iniciar el servidor, ejecute los siguientes comandos desde el directorio del proyecto:
cd vanillajs-spa/App npm install npm start
Copie la dirección URL de
https
que aparece en el terminal, por ejemplo,https://localhost:3000
y péguela en un explorador. Se recomienda usar una sesión privada o incógnita del explorador.Siga los pasos y escriba los detalles necesarios para iniciar sesión con su cuenta Microsoft. Se le pedirá una dirección de correo electrónico para enviarle una contraseña de uso único. Escriba el código cuando se le solicite.
La aplicación solicitará permiso para mantener el acceso a los datos a los que usted le haya dado acceso, así como para iniciar sesión y leer su perfil. Seleccione Aceptar. Aparece la captura de pantalla siguiente, que indica que ha iniciado sesión en la aplicación y ha accedido a los detalles del perfil desde Microsoft Graph API.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Si no tienes una, crea una cuenta gratis.
- 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)
- Crear 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 de aplicaciones de página única. 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/
- URI de redirección:
- Adición de la aplicación al flujo de usuario
- Node.js
Clonar o descargar SPA de ejemplo
Para obtener la aplicación de ejemplo, puede clonarla desde GitHub o descargarla como un archivo .zip.
Para clonar el ejemplo, abra un símbolo del sistema y vaya a dónde desea crear el proyecto y escriba el siguiente comando:
git clone https://github.com/Azure-Samples/ms-identity-ciam-javascript-tutorial.git
Descargue el ejemplo. Extráigalo en una ruta de archivo donde la longitud del nombre sea inferior a 260 caracteres.
Configuración de la SPA de ejemplo
Abra
App/public/authConfig.js
y reemplace lo siguiente por los valores obtenidos del Centro de administración de Microsoft Entra: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 escontoso.onmicrosoft.com
, utilicecontoso
. Si no tiene el nombre del inquilino, aprenda a leer los detalles del inquilino.
Guarde el archivo.
Ejecute su proyecto e inicie sesión
Para iniciar el servidor, ejecute los siguientes comandos desde el directorio del proyecto:
cd 1-Authentication\0-sign-in-vanillajs\App npm install npm start
Copie la dirección URL de
https
que aparece en el terminal, por ejemplo,https://localhost:3000
y péguela en un explorador. Se recomienda usar una sesión privada o incógnita del explorador.Inicie sesión con una cuenta registrada en el inquilino.
Aparece la captura de pantalla siguiente, que indica que ha iniciado sesión en la aplicación y ha accedido a los detalles del perfil desde Microsoft Graph API.
Cerrar sesión de la aplicación
- Busque el botón Cerrar sesión en la página y selecciónelo.
- Se le solicitará seleccionar una cuenta para cerrar sesión. Seleccione la cuenta que usó para iniciar sesión.
Aparece un mensaje que indica que ha cerrado la sesión. Ahora puede cerrar la ventana del explorador.
Contenido relacionado
- Inicio rápido: Protección de una API web de ASP.NET Core con la plataforma de identidad de Microsoft.
- Aprende más creando una SPA de React que inicia sesión a los usuarios en la siguiente serie de tutoriales de varias partes.
- Habilite el restablecimiento de contraseña.
- Personalice la marca predeterminada.
- Configure el inicio de sesión con Google.