Este tutorial le muestra cómo comenzar a construir una API web ASP.NET, hospedarla en la característica Azure Web Apps de Azure App Service habilitar la autenticación de Microsoft Entra ID y luego registrar la API web ASP.NET en Power Automate. Una vez registrada la API, puede conectarse a ella y llamarla desde el flujo. También puede registrar la API y llamarla desde Power Apps o Azure Logic Apps.
Crear y desplegar una aplicación web ASP.NET en Azure
Para este tutorial, cree una aplicación web ASP.NET en Visual C#.
Abra Visual Studio y luego seleccione Archivo > Nuevo proyecto.
Expanda Instalado, vaya a Plantillas > Visual C# > Web y luego seleccione Aplicación web ASP.NET.
Introduzca un nombre de proyecto, ubicación y nombre de solución para su aplicación y luego seleccione Aceptar.
En el cuadro Nueva aplicación web ASP.NET, seleccione la plantilla API web, asegúrese de que la casilla Alojar en la nube está seleccionada y, a continuación, seleccione Cambiar autenticación.
Seleccione Sin autenticación y, a continuación, seleccione Aceptar. Puede configurar la autenticación más tarde.
Cuando reaparezca el cuadro Nueva aplicación web ASP.NET, seleccione Aceptar.
En el cuadro Crear servicio de aplicaciones, revise la configuración de alojamiento que se describe en la tabla siguiente, realice los cambios que desee y seleccione Crear.
Su cuenta profesional o educativa de Azure o su cuenta personal de Microsoft
your-user-account
Seleccione su cuenta de usuario.
Nombre de la aplicación web
custom-web-api-app-name o el nombre predeterminado
Ingrese el nombre de la aplicación API web, que se utiliza en la URL de la aplicación, por ejemplo: http://web-api-app-name.
Suscripción
Azure-subscription-name
Seleccione la suscripción de Azure que quiera usar.
Grupo de recursos
Azure-resource-group-name
Seleccione un grupo de recursos de Azure existente o, si aún no lo ha hecho, cree un grupo de recursos.
Nota: Un grupo de recursos de Azure organiza los recursos de Azure en una suscripción de Azure.
Plan de App Service
App-Service-plan-name
Seleccione un plan de App Service existente o, si aún no lo ha hecho, cree un plan.
Si crea un plan de App Service, especifique lo siguiente.
Ajuste
Valor sugerido
Descripción
Location
deployment-region
Seleccione la región para implementar su aplicación.
Size
App-Service-plan-size
Seleccione el tamaño de su plan, que determina el costo y la capacidad de recursos informáticos para su plan de servicio.
Para configurar cualquier otro recurso requerido por su aplicación, seleccione Explore servicios adicionales de Azure.
Ajuste
Valor sugerido
Descripción
Tipo de recurso
Azure-resource-type
Seleccione y configure cualquier recurso adicional requerido por su aplicación.
Después de que Visual Studio implementa el proyecto, crea el código para la aplicación.
Crear un archivo de OpenAPI (Swagger) que describe su API web
Para conectar la aplicación de API Web a Power Automate, Power Apps o Logic Apps, necesita un archivo de OpenAPI (anteriormente Swagger) que describa las operaciones de la API. Puede escribir su propia definición de OpenAPI para su API con el Editor en línea Swagger, pero este tutorial usa una herramienta de código abierto llamada Swashbuckle.
Si aún no lo ha hecho, instale el paquete NuGet Swashbuckle en su proyecto de Visual Studio:
En Visual Studio, seleccione Herramientas > Administrador de paquetes NuGet > Consola de administrador de paquetes.
En la Consola del administrador de paquetes, vaya al directorio de proyectos de su aplicación si aún no está allí (ejecute Set-Location "project-path") y ejecute este cmdlet de PowerShell:
Install-Package Swashbuckle
Sugerencia
Si ejecuta su aplicación después de instalar Swashbuckle, Swashbuckle genera un archivo de OpenAPI en esta URL:
Swashbuckle también genera una interfaz de usuario en esta URL:
http://{your-web-api-app-root-URL}/swagger
Cuando esté listo, publique la aplicación API web en Azure. Para publicar desde Visual Studio, haga clic con el botón derecho en su proyecto web en el Explorador de soluciones, seleccione Publicar... y siga las indicaciones.
Importante
Si un documento OpenAPI contiene id de operación duplicados, no será válido. La plantilla de ejemplo de C# repite el ID de la operación, Values_Get.
Si usó la plantilla de ejemplo de C#, puede solucionar este problema cambiando una instancia de ID de operación a Value_Get y volviendo a publicarlo.
Consiga el documento de OpenAPI navegando a esta ubicación:
También puede descargar un documento de OpenAPI de ejemplo desde este tutorial. Asegúrese de eliminar los comentarios, que comienzan con //, antes de utilizar el documento.
Guarde el contenido como archivo JSON. Según el explorador, es posible que tenga que copiar y pegar el texto en un archivo de texto vacío.
Primera aplicación de Microsoft Entra ID: protección de la API web
La primera aplicación de Microsoft Entra ID se usa para proteger la API Web. Asígnele el nombre webAPI. Puede habilitar la autenticación Microsoft Entra ID en su API web siguiendo estos pasos con los siguientes valores:
Dirección URL de inicio de sesión: https://login.windows.net
Dirección URL de respuesta: https://<your-root-url>/.auth/login/aad/callback
No necesita una clave de cliente.
No es necesario delegar los permisos.
Copie el id. de aplicación; lo necesitará más adelante.
Segunda aplicación de Microsoft Entra ID: protección del conector personalizado y acceso delegado
La segunda aplicación de Microsoft Entra ID se usa para proteger el registro de conectores personalizados y adquirir acceso delegado a la API Web protegida por la primera aplicación. Asígnele el nombre de webAPI-customAPI.
Dirección URL de inicio de sesión: https://login.windows.net
Dirección URL de respuesta: https://msmanaged-na.consent.azure-apim.net/redirect
Agregue permisos para tener acceso delegado a la API Web.
Copie el id. de aplicación; lo necesitará más adelante.
Genere una clave de cliente y cópiela, porque la necesita más tarde.
Incorporación de autenticación a Azure Web App
Inicie sesión en Azure Portal y, a continuación, busque la aplicación web que implementó en la primera sección.
Seleccione Configuración y, a continuación, seleccione Autenticación/autorización.
Active Autenticación de App Service y luego seleccione Azure Active Directory. En la siguiente hoja, seleccione Express.
Seleccione Seleccionar aplicación de AD existente y seleccione la aplicación webAPI de la aplicación Microsoft Entra ID que creó anteriormente.
Ahora debería poder usar Microsoft Entra ID para autenticar la aplicación web.
Agregar el conector personalizado a Power Automate
Modifique su OpenAPI para agregar el objeto securityDefintions y la autenticación de Microsoft Entra ID usada para la aplicación web. La sección del archivo OpenAPI con la propiedad anfitrión debería tener este aspecto:
JavaScript
// File header should be above here..."host": "<your-root-url>",
"schemes": [
"https"//Make sure this is https!
],
"securityDefinitions": {
"Microsoft Entra ID": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
"tokenUrl" : "https://login.windows.net/common/oauth2/token",
"scopes": {}
}
},
// The rest of the OpenAPI follows...
Agradecemos enormemente los comentarios sobre problemas con nuestra plataforma de conectores o nuevas ideas de características. Para enviar comentarios, vaya a Enviar problemas u obtener ayuda con los conectores y seleccione el tipo de comentario.
Muestre las características de Microsoft Entra ID para modernizar las soluciones de identidad, implementar soluciones híbridas e implementar la gobernanza de identidades.