Skip to content

Credenciales - Gestion de autenticacion

This content is not available in your language yet.

Sistema de almacenamiento seguro para datos de autenticacion como claves API, tokens, contrasenas y conexiones a bases de datos. Las credenciales se almacenan cifradas en la base de datos y se cargan bajo demanda por los modulos que necesitan autenticacion con servicios externos. Se almacenan en la tabla servicecredentials.


  • Se crean y gestionan desde el panel de administracion.
  • Se almacenan como JSON en la columna credentials de la tabla servicecredentials.
  • Los modulos las cargan mediante getCredentials(config.credentials_id).
  • El identificador puede ser numerico (ID) o string (service_name).
  • Cada credencial esta asociada a un client_id.

Para servicios como OpenAI, Telegram, entre otros:

{ "apiKey": "sk-xxxx..." }

Para HTTP, APIs REST:

{ "username": "user", "password": "pass123" }

Para Shopify, Amazon, Google, entre otros:

{ "access_token": "token_xxx", "refresh_token": "refresh_xxx" }

Para PostgreSQL, MySQL, MSSQL, Oracle:

{
"host": "db.example.com",
"port": 5432,
"user": "admin",
"password": "secret",
"database": "mydb",
"ssl": true
}

Para SendMail:

{
"host": "smtp.gmail.com",
"port": 465,
"secure": true,
"auth_user": "user@gmail.com",
"auth_pass": "app_password"
}

Para Slack:

{ "webhookUrl": "https://hooks.slack.com/services/xxx", "username": "Bot" }

Para Telegram:

{ "botToken": "123456:ABC-DEF..." }

Para Shopify:

{
"shop_domain": "mitienda.myshopify.com",
"access_token": "shpat_xxx..."
}

Para WooCommerce:

{
"url": "https://mitienda.com",
"consumer_key": "ck_xxx",
"consumer_secret": "cs_xxx"
}

En el editor visual, el campo credentials_id muestra un selector de credenciales disponibles. El archivo metadata.json del modulo define el campo con "type": "credentials". Opcionalmente se puede incluir "provider": "stripe" para filtrar las credenciales por tipo de servicio.

En el codigo del modulo, se accede de la siguiente manera:

const credentials = await getCredentials(config.credentials_id);
// credentials.apiKey, credentials.host, etc.

  • Nunca incluir credenciales directamente en la configuracion del nodo.
  • Siempre usar el campo credentials_id para referenciar credenciales almacenadas.
  • Las credenciales no se exponen en los logs ni en las trazas de ejecucion.
  • Cada cliente tiene sus propias credenciales aisladas mediante client_id.
  • Rotar tokens y contrasenas periodicamente para mantener la seguridad.

ServicioCampos necesariosDonde obtenerlos
OpenAIapiKeyplatform.openai.com/api-keys
Stripesecret_keydashboard.stripe.com/apikeys
TelegrambotToken@BotFather en Telegram
Shopifyshop_domain, access_tokenPanel admin Shopify > Apps
GoogleOAuth2 tokens (automatico)Google Cloud Console
PostgreSQLhost, port, user, password, databaseTu servidor de BD
SMTPhost, port, auth_user, auth_passTu proveedor de email