Autenticación de la plataforma
Flowker delega la autenticación de la plataforma en Access Manager. Cada solicitud a una ruta protegida de la API debe llevar un token Bearer (JWT de OIDC), y cada ruta protegida aplica un permiso por recurso y por acción. Así funciona la autorización basada en roles y en políticas.
401 Unauthorized.
Autenticación del proveedor
Cuando Flowker llama a un servicio externo, se autentica con las credenciales de la configuración de proveedor a través de la cual llama el nodo. Tus credenciales de plataforma y tus credenciales de proveedor permanecen separadas. Tipos de autenticación admitidos:
El bloque
config.auth de la configuración de proveedor contiene la autenticación que requiere el servicio externo, como un par { type, config }. Flowker la aplica a cada llamada que un nodo hace a través de esa conexión.
Una lectura nunca devuelve la credencial que declara el tipo de autenticación. Guarda las credenciales solo en los campos que declara el tipo de autenticación.
Para rotar un secreto, envía el nuevo valor en una actualización. Para conservar el actual, omite el campo o envíalo vacío. Esto funciona mientras auth.type siga siendo el mismo. Una actualización que cambia auth.type debe llevar un valor para cada secreto que el nuevo tipo requiere y el anterior no. De lo contrario, Flowker la rechaza con FLK-0952. Un cambio entre dos tipos que usan el mismo secreto, como de oidc_user a oidc_client_credentials, no necesita ese valor de nuevo.
Para los flujos de OIDC (
oidc_client_credentials y oidc_user), Flowker gestiona la obtención y la renovación del token automáticamente. Para oidc_client_credentials, proporciona la URL del issuer, el client ID y el client secret. Para oidc_user, proporciona la URL del issuer, el client ID, el nombre de usuario y la contraseña. client_secret es opcional para clientes públicos.Seguridad de red
TLS:
- Lerian termina TLS para el tráfico de la API de Flowker.
- Usa URLs base
https://para las llamadas externas. Flowker acepta una URI para elbase_urldel proveedor HTTP genérico. No lo restringe a HTTPS. - Transmite credenciales y payloads sensibles solo por enlaces cifrados.
- Solo los orígenes permitidos pueden llamar a la API desde un navegador. Para agregar un origen, contacta al soporte de Lerian
- Las solicitudes de origen cruzado no pueden llevar credenciales (
AllowCredentialspermanece desactivado) - Las respuestas de preflight le indican al navegador que las guarde en caché durante una hora
Resiliencia
Flowker protege contra las fallas en cascada de los servicios externos con patrones de circuit breaker y de reintento. Circuit breaker: Cuando un servicio externo falla de forma repetida, el circuit breaker se abre y deja de enviar solicitudes. Esto evita que tus workflows se queden colgados esperando a un proveedor que no responde.
- Transita por los estados
closed→open→half-open - Cada circuito aplica a una configuración de proveedor y a un tenant, así que las fallas contra una conexión no afectan a otra
- El estado half-open permite un número limitado de solicitudes de prueba antes de cerrarse por completo
- Activación en el nodo. Un
retry.max_attemptsmayor que1activa los reintentos sea cual sea el método. El valor es la cantidad total de intentos, y la plataforma lo limita a 5. Unretry.max_attemptsde1no es una activación. Establece un solo intento. - Método HTTP. Sin activación, Flowker trata
POSTyPATCHcomo no idempotentes y les da un solo intento. Todos los demás verbos reintentan, con 3 intentos totales de forma predeterminada. Esto incluyeGET,HEAD,OPTIONS,PUTyDELETE. - Clase de falla. El presupuesto se gasta solo en una falla transitoria: un error de red, un timeout en el intento, cualquier estado
5xx, o el estado408o429. Todos los demás4xxfallan en el primer intento por alto que sea el presupuesto. Un circuito abierto y una ejecución cancelada también detienen el bucle. Un cuerpo de solicitud que supera el límite de tamaño configurado y un cuerpo de respuesta que supera ese mismo límite también lo detienen.
retry.backoff_seconds establece el primer techo, entre 1 y 60. La espera aleatoria evita que muchas ejecuciones reintenten contra el mismo servicio en el mismo momento.
Qué sigue
Guía de integración
Aprende a crear configuraciones de proveedor y a conectar servicios externos.
Observabilidad
Sigue las ejecuciones de workflows a través de sus registros de ejecución.

