Tutorial: preparación del inquilino externo para autorizar una aplicación de demonio de .NET
En esta serie de tutoriales, aprenderá a crear una aplicación de demonio de .NET, que llama a su propia API web protegida personalizada mediante Id. externa de Microsoft Entra. Registrará una aplicación en Microsoft Entra ID y la autenticará con el inquilino externo. Por último, ejecutará la aplicación y probará las experiencias de inicio y cierre de sesión.
- Registre una API web y configure los permisos de aplicación en el Centro de administración de Microsoft Entra.
- Registre una aplicación de demonio de cliente y concédale permisos de aplicación en el Centro de administración de Microsoft Entra
- Cree un secreto de cliente para la aplicación de demonio en el Centro de administración de Microsoft Entra.
Requisitos previos
- Un Microsoft Entra ID para un inquilino externo. Si no tiene uno, cree un inquilino de prueba o un inquilino con una suscripción antes de comenzar.
- 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
- Administrador de aplicaciones en la nube
Registro de una aplicación de API web
Inicie sesión en el Centro de administración de Microsoft Entra al menos como Desarrollador de aplicaciones.
Si tiene acceso a varios inquilinos, use el icono Configuración en el menú superior para cambiar al inquilino externo desde el menú Directorios y suscripciones.
Vaya aIdentidad>Aplicaciones>Registros de aplicaciones.
Seleccione + Nuevo registro.
En la página Registrar una aplicación que aparece, escriba la información de registro de la aplicación:
En la sección Nombre, escriba un nombre significativo para la aplicación, que se mostrará a los usuarios de la aplicación, por ejemplo, ciam-ToDoList-api.
En Tipos de cuenta admitidos, seleccione Solo las cuentas de este directorio organizativo.
Seleccione Registrar para crear la aplicación.
El panel Información general de la aplicación se muestra cuando se completa el registro. Registrar el id. de directorio (inquilino) y el id. de aplicación (cliente) que se usará en el código fuente de la aplicación.
Configuración de roles de aplicación
Una API debe publicar al menos un rol de aplicación, también conocido como permiso de aplicación, para que las aplicaciones cliente obtengan un token de acceso en su propio nombre. Los permisos de aplicación son el tipo de permisos que las API deben publicar cuando quieran permitir que las aplicaciones cliente se autentiquen correctamente como ellas mismas y no necesiten registrar a los usuarios. Para publicar un permiso de aplicación, siga estos pasos:
En la página Registros de aplicaciones, seleccione la aplicación que creó (como ciam-ToDoList-api) para abrir la página Información general.
En Administrar, seleccione Roles de aplicación.
Seleccione Crear rol de aplicación, introduzca los siguientes valores y seleccione Aplicar para guardar los cambios:
Propiedad Value Nombre para mostrar ToDoList.Read.All Tipos de miembros permitido Aplicaciones Value ToDoList.Read.All Descripción Permitir que la aplicación lea la lista de tareas pendientes de cada usuario utilizando ''TodoListApi'' Vuelva a seleccionar Crear rol de aplicación, introduzca los siguientes valores para el segundo rol de aplicación y seleccione Aplicar para guardar los cambios:
Propiedad Value Nombre para mostrar ToDoList.ReadWrite.All Tipos de miembros permitido Aplicaciones Value ToDoList.ReadWrite.All Descripción Permitir que la aplicación lea y escriba cada lista de tareas pendientes de los usuarios mediante "ToDoListApi"
Configurar la notificación de token de idtyp
Puede incluir la notificación opcional idtyp para ayudar a la API web a determinar si un token es un token de aplicación o un token de aplicación + usuario. Aunque es posible usar una combinación de notificaciones de scp y roles con el mismo propósito, usar la notificación idtyp es la manera más fácil de distinguir un token de aplicación de un token de aplicación + usuario. Por ejemplo, el valor de esta notificación es app cuando el token es un token solo para aplicaciones.
Registro de la aplicación demonio
Para permitir que su aplicación inicie la sesión de los usuarios con Microsoft Entra, la id. externa de Microsoft Entra debe tener en cuenta la aplicación que haya creado. El registro de la aplicación establece una relación de confianza entre la aplicación y Microsoft Entra. Al registrar una aplicación, External ID genera un identificador único conocido como Id. de aplicación (cliente), un valor que se usa para identificar la aplicación al crear solicitudes de autenticación.
En los pasos siguientes, se muestra cómo registrar una aplicación en el centro de administración de Microsoft Entra:
Inicie sesión en el Centro de administración de Microsoft Entra al menos como Desarrollador de aplicaciones.
Si tiene acceso a varios inquilinos, use el icono Configuración en el menú superior para cambiar al inquilino externo desde el menú Directorios y suscripciones.
Vaya aIdentidad>Aplicaciones>Registros de aplicaciones.
Seleccione + Nuevo registro.
En la página Registrar una aplicación que aparece;
- Introduzca un Nombre de aplicación significativo que se muestre a los usuarios de la aplicación, por ejemplo ciam-client-app.
- En Tipos de cuenta admitidos, seleccione Solo las cuentas de este directorio organizativo.
Seleccione Registrar.
Se muestra el panel Información general de la aplicación tras registrarse correctamente. Registre el Id. de la aplicación (cliente) que se usará en el código fuente de la aplicación.
Creación de un secreto de cliente
Cree un secreto de cliente para la aplicación registrada. La aplicación usa el secreto de cliente para demostrar su identidad al solicitar tokens.
- En la página Registros de aplicaciones, seleccione la aplicación que creó (como ciam-client-app) para abrir la página Información general.
- En Administrar, seleccione Certificados y secretos.
- Seleccione Nuevo secreto de cliente.
- Escriba una descripción para el secreto de cliente en el cuadro Descripción (por ejemplo, secreto de cliente de ciam app).
- En Expira, seleccione el tiempo durante el cual es válido el secreto (según las reglas de seguridad de su organización) y, a continuación, elija Agregar.
- Registre el Valor del secreto. Este valor se usará para la configuración en un paso posterior. El valor del secreto no se volverá a mostrar y no se podrá recuperar por ningún medio, después de salir del Certificados y secretos. Asegúrese de grabarlo.
Concesión de permisos de API a la aplicación demonio
En la página Registros de aplicaciones, seleccione la aplicación que creó (como ciam-client-app).
En Administrar, seleccione Permisos de API.
En Permisos configurados, seleccione Agregar un permiso.
Seleccione la pestaña API usadas en mi organización.
En la lista de API, seleccione la API como ciam-ToDoList-api.
Seleccione la opción Permisos de aplicación. Se selecciona esta opción porque la aplicación inicia sesión como sí misma, pero no en nombre de un usuario.
En la lista de permisos, seleccione TodoList.Read.All, ToDoList.ReadWrite.All (use el cuadro de búsqueda si es necesario).
Seleccione el botón Agregar permisos.
En este momento, ha asignado los permisos correctamente. Sin embargo, dado que la aplicación demonio no permite a los usuarios interactuar con ella, los propios usuarios no pueden dar su consentimiento a estos permisos. Para solucionar este problema, como administrador debe consentir estos permisos en nombre de todos los usuarios del inquilino:
- Seleccione Conceder consentimiento del administrador para el <nombre del inquilino> y, a continuación, pulse Sí.
- Seleccione Actualizar, luego compruebe que aparece Concedido para <el nombre de inquilino> en Estado para ambos permisos.
Registrar los detalles del registro de la aplicación
El siguiente paso después de este tutorial es compilar una aplicación de demonio que llama a la API web. Asegúrese de tener los siguientes detalles:
- La aplicación (cliente) de la aplicación de demonio de cliente que registró.
- El subdominio Directorio (inquilino) donde registró la aplicación de demonio. Si no tiene el nombre del inquilino, aprenda a leer los detalles del inquilino.
- El valor de secreto de aplicación de la aplicación de demonio que ha creado.
- Id. de aplicación (cliente) de la aplicación API web que registró.