Registro de una aplicación
El registro de la aplicación establece una relación de confianza entre la aplicación y la plataforma de identidad de Microsoft. La confianza es unidireccional: la aplicación confía en la plataforma de identidad de Microsoft y no al revés.
Inicie sesión en el Centro de administración de Microsoft Entra con una cuenta de administrador.
Abra el menú del portal y, a continuación, seleccione Identidad.
En el menú Identidad , en Aplicaciones, seleccione Registros de aplicaciones.
En la página Registros de aplicaciones, en el menú, seleccione + Nuevo registro.
En el cuadro de diálogo registrar una aplicación , registre una aplicación denominada Aplicación de demostración con los valores predeterminados. No es necesario que escriba el URI de redirección.
Cuando haya finalizado, se le dirigirá a la pantalla Aplicación de demostración .
Adición de un URI de redirección
Un URI de redirección es la ubicación donde la plataforma de identidad de Microsoft redirige al cliente de un usuario y envía tokens de seguridad después de la autenticación. En una aplicación web de producción, por ejemplo, el URI de redirección suele ser un punto de conexión público en el que se ejecuta la aplicación. Durante la fase de desarrollo, también es habitual incorporar el punto de conexión en el que se ejecuta la aplicación localmente.
Para agregar y modificar los URI de redirección de las aplicaciones registradas, especifique los parámetros en la opción Configuración de la plataforma.
Configuración de las opciones de la plataforma
Las opciones de cada tipo de aplicación, incluidos los URI de redireccionamiento, se configuran en Configuraciones de plataforma en Azure Portal. Algunas plataformas, como aplicaciones web y de página única, requieren que especifique manualmente un URI de redirección. Para otras plataformas, como dispositivos móviles y de escritorio, puede seleccionar entre los URI de redireccionamiento generados automáticamente al configurar sus otras opciones.
Para configurar las opciones de la aplicación en función de la plataforma o el dispositivo de destino:
Seleccione la aplicación en Registros de aplicaciones en Azure Portal.
En Administrar, seleccione Autenticación.
En Configuraciones de plataforma, seleccione Agregar una plataforma.
En Configurar plataformas, seleccione el icono del tipo de aplicación (plataforma) para configurar sus opciones.
Plataforma Configuración La web Escriba un URI de redirección para la aplicación, la ubicación donde la plataforma de identidad de Microsoft redirige al cliente de un usuario y envía tokens de seguridad después de la autenticación. Seleccione esta plataforma para las aplicaciones web estándar que se ejecutan en un servidor. Aplicación de página única Escriba un URI de redirección para la aplicación, la ubicación donde la plataforma de identidad de Microsoft redirige al cliente de un usuario y envía tokens de seguridad después de la autenticación. Seleccione esta plataforma si va a compilar una aplicación web del lado cliente en JavaScript o con un marco como Angular, Vue.js, React.js o WebAssembly de Blazor. iOS/macOS Escriba el identificador de lote de la aplicación, que se encuentra en XCode en Info.plist o Build Settings.Un URI de redirección se genera automáticamente al especificar un identificador de lote. Androide Escriba el nombre del paquete de la aplicación, que puede encontrar en el archivo AndroidManifest.xml, y genere y escriba el hash de firma. Se genera un URI de redirección automáticamente al especificar esta configuración. Aplicaciones móviles y de escritorio Seleccione uno de los URI de redireccionamiento sugeridos o especifique un URI de redireccionamiento personalizado. En el caso de las aplicaciones de escritorio, se recomienda:https://login.microsoftonline.com/common/oauth2/nativeclient seleccione esta plataforma para aplicaciones móviles que no usen la biblioteca de autenticación de Microsoft (MSAL) más reciente o que no usen un agente. Seleccione también esta plataforma para aplicaciones de escritorio. Seleccione Configurar para completar la configuración de la plataforma.
Adición de credenciales
Las aplicaciones cliente confidenciales usan credenciales que acceden a una API web. Ejemplos de aplicaciones cliente confidenciales son, entre otras, las aplicaciones web, las API web o las aplicaciones de tipo demonio y de tipo servicio. Las credenciales permiten que la aplicación se autentique como sí misma, lo que no requiere ninguna interacción de un usuario en tiempo de ejecución.
Puede agregar certificados y secretos de cliente (una cadena) como credenciales al registro de la aplicación cliente confidencial.
Agregar un certificado
A veces se denomina clave pública, los certificados son el tipo de credencial recomendado, ya que proporcionan un mayor nivel de garantía que un secreto de cliente. Al usar un certificado público de confianza, puede agregar el certificado mediante la característica Certificados y secretos. El certificado debe ser uno de los siguientes tipos de archivo: .cer, .pem, .crt.
Agregar un secreto de cliente
El secreto de cliente, también conocido como contraseña de aplicación, es un valor de cadena que la aplicación puede usar en lugar de un certificado para identificarse. Esta opción es la más fácil de usar de los dos tipos de credenciales. A menudo se usa durante el desarrollo, pero se considera menos seguro que un certificado. Debe usar certificados en las aplicaciones que se ejecutan en producción.
- Seleccione la aplicación en Registros de aplicaciones en Azure Portal.
- Seleccione Certificados y secretos y, a continuación, seleccione Nuevo secreto de cliente.
- Agregue una descripción para el secreto de cliente.
- Seleccione una duración.
- Seleccione Agregar.
- Registre el valor del secreto para su uso en el código de la aplicación cliente; Nunca se vuelve a mostrar después de salir de esta página.
Registro de la API web
Para proporcionar acceso con ámbito a los recursos de la API web, primero debe registrar la API en la plataforma de identidad de Microsoft.
- Siga los pasos anteriores.
- Omita las secciones Agregar un URI de redireccionamiento y Configurar la configuración de la plataforma . No es necesario configurar un URI de redireccionamiento para las API web, ya que ningún usuario inicia sesión de forma interactiva.
- Omita la sección Agregar credenciales por ahora. La API necesitaría sus propias credenciales solo si accede a otra de nivel inferior, pero este escenario no se trata en este artículo.
Con la API web registrada, está listo para agregar los ámbitos que el código de la API puede usar para proporcionar permisos pormenorizados a los consumidores de la API.
Agregar un ámbito
El código de una aplicación cliente solicita permiso para realizar operaciones definidas por la API web pasando un token de acceso junto con sus solicitudes al recurso protegido (la API web). A continuación, la API web realiza la operación solicitada solo si el token de acceso que recibe contiene los ámbitos (también conocidos como permisos de aplicación) necesarios para la operación.
En primer lugar, siga estos pasos para crear un ámbito de ejemplo denominado Employees.Read.All:
Inicie sesión en Azure Portal.
Si tiene acceso a varios inquilinos, use el filtro Directorio y suscripción en el menú superior para seleccionar el inquilino que contiene el registro de la aplicación cliente.
Seleccione ID de Microsoft Entra, luego Registros de aplicaciones, y luego seleccione el registro de la aplicación de su API.
Seleccione Exponer una API y, a continuación, Agregar un ámbito.
Se le pedirá que establezca un URI de identificador de aplicación si aún no ha configurado uno. El URI del identificador de aplicación actúa como prefijo para los ámbitos a los que hará referencia en el código de la API y debe ser único globalmente. Puede usar el valor predeterminado proporcionado, que tiene el formato
api://, o especificar un URI más legible, comohttps://contoso.com/api.A continuación, especifique los atributos del ámbito en el panel Agregar un ámbito. Para este tutorial, puede usar los valores de ejemplo o especificar los suyos propios.
Campo Descripción Ejemplo Nombre del ámbito El nombre del ámbito. Una convención de nomenclatura de ámbito común es resource.operation.constraint. Employees.Read.All ¿Quién puede dar el consentimiento? El administrador elige si los usuarios pueden dar su consentimiento a este ámbito o si se requiere el consentimiento del administrador. Seleccione Solo administradores para permisos con más privilegios. Administradores y usuarios Nombre para mostrar del consentimiento del administrador Breve descripción del propósito del ámbito que solo verán los administradores. Acceso de solo lectura a los registros de empleados. Descripción del consentimiento del administrador Descripción más detallada del permiso concedido por el ámbito que solo verán los administradores. Permite que la aplicación obtenga acceso de solo lectura a todos los datos de los empleados. Nombre para mostrar del consentimiento del usuario Descripción breve del propósito del ámbito. Solo se muestra a los usuarios si establece Who can consent to Admins and users (Quién puede dar su consentimiento a administradores y usuarios). Acceso de solo lectura a los registros de los empleados. Descripción del consentimiento del usuario Descripción más detallada del permiso concedido por el ámbito. Solo se muestra a los usuarios si establece Who can consent to Admins and users (Quién puede dar su consentimiento a administradores y usuarios). Permite que la aplicación obtenga acceso de solo lectura a los datos de los empleados. Establezca El estado en Habilitado y, a continuación, seleccione Agregar ámbito.
(Opcional) Para suprimir la petición de consentimiento por parte de los usuarios de la aplicación a los ámbitos definidos, puede autorizar previamente la aplicación cliente para acceder a la API web. Autorice previamente solo aquellas aplicaciones cliente en las que confíe, ya que los usuarios no tendrán la oportunidad de rechazar el consentimiento.
- En Aplicaciones cliente autorizadas, seleccione Agregar una aplicación cliente.
- Escriba el identificador de aplicación (cliente) de la aplicación cliente que desea autorizar previamente. Por ejemplo, el de una aplicación web que ha registrado previamente.
- En Ámbitos autorizados, seleccione los ámbitos para los que desea suprimir la solicitud de consentimiento y, a continuación, seleccione Agregar aplicación.
- Si ha seguido este paso opcional, la aplicación cliente será ya una aplicación cliente preautorizada (PCA) y no se pedirá a los usuarios su consentimiento al iniciar sesión en ella.
Adición de un ámbito que requiera consentimiento del administrador
A continuación, agregue otro ámbito de ejemplo denominado Employees.Write.All para el que solo los administradores puedan dar su consentimiento. Los ámbitos que requieren el consentimiento del administrador se suelen usar para proporcionar acceso a operaciones de mayor privilegio y, a menudo, los usan aplicaciones cliente que se ejecutan como servicios de back-end o demonios que no inician sesión de forma interactiva.
Para agregar el ámbito de ejemplo Employees.Write.All, siga los pasos anteriores y especifique estos valores en el panel Agregar un ámbito :
| Campo | Valor de ejemplo |
|---|---|
| Nombre del ámbito | Employees.Write.All |
| ¿Quién puede dar el consentimiento? | Solo administradores |
| Nombre para mostrar del consentimiento del administrador | Acceso de escritura a los registros de empleados. |
| Descripción del consentimiento del administrador | Permite que la aplicación obtenga acceso de escritura a todos los datos de los empleados. |
| Nombre para mostrar del consentimiento del usuario | Ninguno (deje vacío) |
| Descripción del consentimiento del usuario | Ninguno (deje vacío) |
Comprobación de los ámbitos expuestos
Si ha agregado correctamente ambos ámbitos de ejemplo descritos en las secciones anteriores, aparecerán en el panel Exponer una API del registro de aplicaciones de la API web, similar a esta imagen:
Como se muestra en la imagen, la cadena completa de un ámbito es la concatenación del identificador de aplicación de la API web y el nombre del ámbito.
Por ejemplo, si el URI de id. de aplicación de la API web es https://contoso.com/api y el nombre del ámbito es Employees.Read.All, el ámbito completo es:
https://contoso.com/api/Employees.Read.All
Uso de los ámbitos expuestos
A continuación, configurará el registro de una aplicación cliente con acceso a su API web y a los ámbitos que haya definido mediante los pasos anteriores.
Una vez que se concede permiso a un registro de aplicación cliente para acceder a la API web, el cliente puede emitir un token de acceso de OAuth 2.0 mediante la plataforma de identidad de Microsoft. Cuando el cliente llama a la API web, presenta un token de acceso cuya demanda de ámbito (scp) se establece en los permisos especificados en el registro de la aplicación cliente.
Puede exponer ámbitos adicionales más adelante según sea necesario. Tenga en cuenta que la API web puede exponer varios ámbitos asociados a varias operaciones. El recurso puede controlar el acceso a la API web en tiempo de ejecución, mediante la evaluación de las notificaciones de ámbito (scp) del token de acceso de OAuth 2.0 recibido.
¿Qué sucede entre bastidores?
- El registro de la aplicación se crea en el inquilino principal.
- Se crea una instancia de la aplicación con una entidad de seguridad en Microsoft Entra ID
- El primer usuario o administrador concede el consentimiento a la entidad de seguridad en función de la configuración de la API expuesta.
- A la entidad de seguridad se le concede el token de seguridad a medida que el usuario accede a la aplicación y usa la API.