JL
FR
Accueil documentation
Menu
Guides

Canaux Privés Et Accès

Appliquez des règles d'accès liées au compte pour les lectures et écritures sur canaux privés.

guide jsonlog

Canaux Privés Et Accès

Objectif : définir la propriété des canaux privés et le comportement d’autorisation.

Préconditions

  • Disposer d’au moins un token Bearer de compte valide.
  • Utiliser des IDs de canal cohérents entre clients writer/reader.

Flux API/Script

  1. Revendiquer la propriété d’un canal :
    • La première écriture authentifiée sur POST /log?cid=<id> pour un canal non possédé définit le compte propriétaire.
  2. Lire en tant que propriétaire :
    • GET /log?cid=<id> avec token propriétaire renvoie les logs du canal.
  3. Appliquer l’accès non-propriétaire :
    • Les lectures/écritures d’un autre compte renvoient 404.
  4. Appliquer l’accès non authentifié :
    • Les écritures privées sans token renvoient 401.
    • Les lectures privées sans token renvoient 404.
  5. Accès privé WebSocket :
    • L’upgrade vers /ws?cid=<id> exige un token propriétaire valide.

Flux HTTP/curl

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

# Le propriétaire revendique/utilise le 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 non-propriétaire ne peut pas lire le canal privé
curl -sS "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "authorization: Bearer ${OTHER_TOKEN}"

# Écriture non authentifiée bloquée
curl -sS -X POST "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "content-type: application/json" \
  --data '{"message":"blocked"}'

Validation

  • Lecture/écriture propriétaire : succès 200.
  • Opérations de canal privé non-propriétaire : 404.
  • Absence de token sur écriture privée : 401.

Documentation Liée