JL
ES
Inicio de documentación
Menú
Guías

Canales Privados Y Acceso

Aplica reglas de acceso por cuenta para lecturas y escrituras en canales privados.

guide jsonlog

Canales Privados Y Acceso

Objetivo: definir propiedad y comportamiento de autorización en canales privados.

Precondiciones

  • Ten al menos un token Bearer de cuenta válido.
  • Usa IDs de canal consistentes entre clientes escritores y lectores.

Flujo De API/Script

  1. Reclamar propiedad del canal:
    • La primera escritura autenticada a POST /log?cid=<id> en un canal sin dueño fija la cuenta propietaria.
  2. Leer como propietario:
    • GET /log?cid=<id> con token propietario devuelve logs del canal.
  3. Aplicar acceso para no propietarios:
    • Lecturas/escrituras de cuentas incorrectas devuelven 404.
  4. Aplicar acceso sin autenticación:
    • Escrituras privadas sin token devuelven 401.
    • Lecturas privadas sin token devuelven 404.
  5. Acceso privado por WebSocket:
    • El upgrade a /ws?cid=<id> requiere token válido de la cuenta propietaria.

Flujo HTTP/curl

JSONLOG_BASE_URL="http://localhost:3002"
OWNER_TOKEN="<owner_account_token>"
OTHER_TOKEN="<other_account_token>"
CID="team-private"

# El propietario reclama/usa el canal
curl -sS -X POST "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "authorization: Bearer ${OWNER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"message":"owner log"}'

# Un no propietario no puede leer canal privado
curl -sS "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "authorization: Bearer ${OTHER_TOKEN}"

# Escritura sin autenticación bloqueada
curl -sS -X POST "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "content-type: application/json" \
  --data '{"message":"blocked"}'

Validación

  • Lectura/escritura del propietario exitosa con 200.
  • Operaciones privadas de no propietario devuelven 404.
  • Falta de token en escritura privada devuelve 401.

Documentación Relacionada