Skip to main content

Propósito

El módulo de credenciales permite almacenar datos sensibles, como API keys, tokens o contraseñas, y recuperarlos desde el código de una herramienta en tiempo de ejecución.
Usa credenciales para evitar hardcodear secretos directamente en el código de una herramienta. Las credenciales se recuperan ya descifradas y listas para usar.

Acceso desde código

El módulo está disponible a través de controller.credentials dentro del runtime de la herramienta de código. También aparece en el autocompletado del editor junto al resto de propiedades de controller.

Métodos disponibles

controller.credentials expone dos métodos para recuperar credenciales:

getByName(name: string)

Recupera una credencial por su nombre. Es el método habitual cuando el código debe usar una credencial conocida por su identificador funcional.

getById(id: string)

Recupera una credencial por su identificador único.

Estructura de una credencial

Una vez recuperada, la credencial expone las siguientes propiedades:

publicAttributes vs privateAttributes

  • publicAttributes: datos no sensibles asociados a la credencial. Por ejemplo, en una credencial de tipo API key, aquí puede guardarse el nombre del header HTTP donde debe enviarse la clave, como X-Api-Key o Authorization.
  • privateAttributes: datos sensibles almacenados cifrados y entregados ya descifrados en tiempo de ejecución. Aquí puede guardarse la API key, el token o la contraseña.

Ejemplo de uso

De esta forma, ni el nombre del header ni la API key quedan escritos directamente como valores fijos en el código de la herramienta.

Buenas prácticas

  • Recupera credenciales por nombre cuando el código deba ser legible y estable.
  • Evita registrar valores de privateAttributes en logs o respuestas.
  • Mantén en publicAttributes solo datos que no sean sensibles.
  • Prueba la herramienta en Playground antes de publicarla.

Próximos pasos

Usar una herramienta de código

Revisa cómo ejecutar JavaScript dentro del flujo conversacional de Inagent.