35 lines
1.7 KiB
Markdown

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.