AvanzaCast/scripts/validate-livekit

Archivos generados por la validación de LiveKit

Contenido:

  • token.txt: token JWT completo (línea única)
  • payload.json: payload (claims) decodificado del token
  • curl_strict.txt: resultado del curl estricto a /rtc/validate (HTTP 200 + body: success)

Comandos listos para usar (zsh)

exportar token

export TOKEN='eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidGVzdF91c2VyIiwidmlkZW8iOnsicm9vbSI6InRlc3Rfcm9vbSIsInJvb21Kb2luIjp0cnVlLCJjYW5QdWJsaXNoIjp0cnVlLCJjYW5TdWJzY3JpYmUiOnRydWV9LCJpc3MiOiJBUElCVHFUR3hmOWh0TUsiLCJleHAiOjE3NjM3OTg3MjgsIm5iZiI6MCwic3ViIjoidGVzdF91c2VyIn0.gyu2VR1jAFlbrbJIpsAeocrUSHTWWszED7KfM3lAwZU'

validar con curl (estricto TLS)

curl -i -v -H "Authorization: Bearer $TOKEN" "https://livekit-server.bfzqqk.easypanel.host/rtc/validate"

validar (ignorar verificación TLS) - solo para diagnóstico

echo "(no recomendado en producción)" curl -i -v -k -H "Authorization: Bearer $TOKEN" "https://livekit-server.bfzqqk.easypanel.host/rtc/validate"

probar WebSocket con wscat (instalar: npm i -g wscat)

timeout 6s wscat -c "wss://livekit-server.bfzqqk.easypanel.host/rtc?access_token=$TOKEN" || true

ejemplo cliente JS (browser) - usar livekit-client

import { connect } from 'livekit-client';

const serverUrl = 'wss://livekit-server.bfzqqk.easypanel.host';

const token = '...el token completo...';

(async () => { const room = await connect(serverUrl, token); console.log('Conectado a room:', room.name); })();

Recomendaciones de seguridad:

  • No subir tokens ni secretos a repositorios públicos.
  • Generar tokens en backend y entregar tokens cortos al cliente.
  • Usar TTL corto en producción (10-30 min) y permisos mínimos por rol.
  • Guardar LIVEKIT_API_SECRET en un gestor de secretos.