En el artículo anterior “Lleva a otro nivel tus conectores personalizados de Power Platform” introducíamos cómo usar políticas y código propio para mejorar nuestros Custom Connectors. En este artículo profundizamos más y vemos cómo usar estos Custom Connectors para aplicaciones que están en On-premise y algún truco para superar las limitaciones de la solución.
¿Cómo conectar un Custom Connector con un aplicación On-premise?
Para conectar nuestro Custom Connector con una solución On-premise deberemos utilizar una puerta de enlace ¿Qué es una puerta de enlace de datos local? | Microsoft Learn.
La puerta de enlace creará una red segura entre los servicios en la nube y la aplicación en local como un túnel entre ambos orígenes.
El primer paso será configurar la puerta de enlace en un servidor local siguiendo el diseño de arquitectura que hayamos establecido. Después verificaremos si tenemos los permisos y el estado en el entorno de administración de Power Platform.
Ilustración 1. Administración de las puertas de enlace.
Una vez que hayamos comprobado que todo es correcto, iniciaremos el desarrollo de nuestro conector personalizado y elegiremos la opción de usar una puerta de enlace:
Ilustración 2. Crear un conector personalizado
Y pasamos a la seguridad y…… ¡Sorpresa! La puerta de enlace tiene opciones de seguridad diferentes.
Ilustración 3. Métodos de autenticación sin puerta de enlace.
Ilustración 4. Métodos de autenticación con puerta de enlace.
¿Qué podemos hacer ahora? Si intentamos usar un API Key o un Bearer token, no nos da la opción de elegirlo. En este caso, tenemos que ser creativos y pensar en las directivas de los conectores personalizados.
Ilustración 5. Crear directivas en conectores personalizados.
Vamos a suponer que necesitamos incorporar un bearer token que sabemos que en la petición se añade en la cabecera así que lo primero que deberemos hacer es seleccionar que no requiere autenticación en la parte de seguridad
Ilustración 6. Tipo de autenticación: Sin autenticación.
Después crearemos una directiva de “Establecer encabezado https”
Ilustración 7. Elegir plantilla de directiva.
Está directiva deberá sustituir el encabezado que venga por defecto en la petición.
Ilustración 8. Directiva para sustituir la cabecera de la petición.
Puedes observar en la imagen que es necesario incluir un parámetro de conexión porque no nos lo va a solicitar al indicar que no hay autenticación.
¿Cómo crear un parámetro de conexión?
Para crearlo deberemos descargarnos los ficheros de nuestro conector mediante los CLI de Power Platform CLI de conectores de Microsoft Power Platform | Microsoft Learn
Después accederemos al fichero de apiProperties.json y agregaremos manualmente nuestro parámetro de conexión.
{
“properties”: {
“connectionParameters”: {
“token”: {
“type”: “string”,
“uiDefinition”: {
“displayName”: “token”,
“description”: “Token for the selected environment”,
“tooltip”: “Provide the token”,
“constraints”: {
“required”: “true”
}
}
},
“authType”: {
“type”: “string”,
“allowedValues”: [
{
“value”: “none”
}
],
“uiDefinition”: {
“displayName”: “Tipo de autenticacion”,
“description”: “Tipo de autenticacion para conectarse a la API”,
“tooltip”: “Tipo de autenticacion para conectarse a la API”,
“constraints”: {
“tabIndex”: 1,
“required”: “true”,
“allowedValues”: [
{
“text”: “none”,
“value”: “anonymous”
}
],
“capability”: [
“gateway”
]
}
}
},
“gateway”: {
“type”: “gatewaySetting”,
“gatewaySettings”: {
“dataSourceType”: “CustomConnector”,
“connectionDetails”: []
},
“uiDefinition”: {
“constraints”: {
“tabIndex”: 4,
“required”: “true”,
“capability”: [
“gateway”
]
}
}
}
},
“iconBrandColor”: “#007ee5”,
“capabilities”: [
“gateway”
],
“policyTemplateInstances”: [
{
“templateId”: “setheader”,
“title”: “Auth”,
“parameters”: {
“x-ms-apimTemplateParameter.name”: “Authorization”,
“x-ms-apimTemplateParameter.value”: “Bearer @connectionParameters(‘token’)”,
“x-ms-apimTemplateParameter.existsAction”: “override”,
“x-ms-apimTemplate-policySection”: “Request”
}
}
],
“publisher”: “Mar Pedroche”
}
}
De esta manera, mediante estos simples pasos habremos solucionado la restricción de autenticación que presentan los conectores personalizados al usar una puerta de enlace.
Si quieres más info y contenidos relacionados consulta: www.poweruser365.com







