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.
En este tutorial se muestra cómo empezar a crear un ASP.NET Web API, hospedarlo en la característica Azure Web Apps de Azure App Service, habilitar la autenticación Microsoft Entra ID y, a continuación, registrar el ASP.NET Web API en Power Automate. Una vez registrada la API, puede conectarse a ella y llamarla desde el flujo de trabajo. También tiene la opción de:
- Registre y llame a la API desde Power Apps o Azure Logic Apps.
- Integración con Microsoft Copilot Studio.
Requisitos previos
Visual Studio 2013 o posterior. En este tutorial se usa Visual Studio 2015.
Código para la API web. Si no tiene ninguno, pruebe este tutorial: Introducción a ASP.NET Web API 2 (C#).
Una suscripción Azure. Si no tiene una suscripción, puede empezar con una cuenta de free Azure. De lo contrario, elija una suscripción de pago por uso.
Creación e implementación de una aplicación web de ASP.NET en Azure
En este tutorial, cree una aplicación web de Visual C# ASP.NET.
Abra Visual Studio y seleccione File>New Project.
Expanda Installed, vaya a Templates>Visual C#>Web y seleccione ASP.NET Aplicación web.
Introduzca un nombre de proyecto, ubicación y nombre de solución para su aplicación y luego seleccione Aceptar.
En el cuadro New ASP.NET Web Application, Seleccione la plantilla Web API, asegúrese de que está activada la casilla Host en la nube y seleccione Change Authentication.
Seleccione Sin autenticación y, a continuación, seleccione Aceptar. Puede configurar la autenticación más tarde.
Cuando vuelva a aparecer el cuadro Nuevo ASP.NET aplicación web, seleccione OK.
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.
Un plan App Service representa una colección de recursos físicos que se usan para hospedar aplicaciones en la suscripción de Azure. Aprenda sobre App Service.
Ajuste Valor sugerido Descripción Su Azure cuenta profesional o educativa, o su cuenta microsoft personal 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. Subscription nombre-de-suscripción-en-Azure Seleccione la suscripción Azure que desea 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 organiza los recursos de Azure en tu 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 Ubicación deployment-region Seleccione la región para implementar su aplicación. Tamaño Tamaño-del-plan-de-servicio-de-aplicaciones 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 necesario para la aplicación, seleccione Explore otros servicios 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 Visual Studio implementa el proyecto, compile el código de 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 OpenAPI (anteriormente Swagger) que describe 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 el proyecto de Visual Studio:
En Visual Studio, seleccione Tools>NuGet Package Manager>Package Manager Console.
En el Package Manager Console, vaya al directorio del proyecto de la 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:
http://{your-web-api-app-root-URL}/swagger/docs/v1
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 de API web para Azure. Para publicar desde Visual Studio, haga clic con el botón derecho en el proyecto web en Solution Explorer, seleccione Publish 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_Gety volviendo a publicarlo.Consiga el documento de OpenAPI navegando a esta ubicación:
http://{your-web-api-app-root-URL}/swagger/docs/v1
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.
Configuración de la autenticación de Microsoft Entra ID
Ahora creará dos aplicaciones Microsoft Entra ID en Azure. Para obtener más información, vaya a Integración de aplicaciones con Microsoft Entra ID.
Importante
Ambas deben estar en el mismo directorio.
Primera aplicación Microsoft Entra ID: Protección de la API web
La primera aplicación Microsoft Entra ID se usa para proteger la API web. Asígnele el nombre webAPI. Puede habilitar la autenticación Microsoft Entra ID en la API web siguiendo los 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 el acceso delegado
La segunda aplicación Microsoft Entra ID se usa para proteger el registro del conector personalizado 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.
Adición de autenticación a la aplicación web de Azure
Inicie sesión en el portal Azure y 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 App Service Authentication y seleccione Azure Active Directory. En la siguiente hoja, seleccione Express.
Seleccione Seleccionar aplicación de AD existente y, a continuación, seleccione la aplicación webAPI Microsoft Entra ID que creó anteriormente.
Ahora debería poder usar Microsoft Entra ID para autenticar la aplicación web.
Adición del conector personalizado a Power Automate
- Modifique su OpenAPI para agregar el objeto
securityDefintionsy la autenticación de Microsoft Entra ID utilizada para la aplicación web. La sección del archivo OpenAPI con la propiedad anfitrión debería tener este aspecto:
// 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...
Vaya a Power Automate y agregue un conector personalizado como se describe en Use de conectores personalizados en Power Automate.
Después de cargar su OpenAPI, el asistente detecta automáticamente que está utilizando la autenticación de Microsoft Entra ID para su API web.
Configure la autenticación de Microsoft Entra ID para el conector personalizado.
- Id. de cliente: el identificador de cliente de webAPI-CustomAPI
- Secretode cliente: clave de cliente de webAPI-CustomAPI
-
Dirección URL de inicio de sesión:
https://login.windows.net - ResourceUri: identificador de cliente de webAPI
- Seleccione Crear para crear una conexión con el conector personalizado.
Importante
Si el conector usa OAuth, es importante supervisar y renovar periódicamente las credenciales de identificador de cliente y secreto de cliente que expiran para que los clientes puedan seguir usando el conector. Asegúrese de enviar la actualización del conector un mes antes de la fecha en que el identificador de cliente y el secreto de cliente estén configurados para que expiren.
Información relacionada
Más información sobre la autenticación de Microsoft Entra ID
Proporcionar comentarios
Agradecemos enormemente los comentarios sobre problemas con nuestra plataforma de conectores o nuevas ideas de funciones. Para enviar comentarios, vaya a Enviar problemas u obtener ayuda con los conectores y seleccione el tipo de comentario.