JL
ZH-CN
文档首页
菜单
指南

私有频道与访问控制

为私有频道读写执行账户绑定访问规则。

guide jsonlog

私有频道与访问控制

目的:定义私有频道所有权与授权行为。

前置条件

  • 至少准备一个有效的账户 Bearer 令牌。
  • 在写入端与读取端客户端之间保持一致的频道 ID。

API/脚本流程

  1. 声明频道所有权:
    • 对未归属频道首次使用认证写入 POST /log?cid=<id>,会设置该频道的所属账户。
  2. 以所有者身份读取:
    • 使用所有者令牌调用 GET /log?cid=<id> 返回该频道日志。
  3. 非所有者访问控制:
    • 错误账户的读写返回 404
  4. 未认证访问控制:
    • 无令牌写入私有频道返回 401
    • 无令牌读取私有频道返回 404
  5. WebSocket 私有访问:
    • 升级到 /ws?cid=<id> 需要有效的所有者令牌。

HTTP/curl 流程

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

# 所有者声明/使用频道
curl -sS -X POST "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "authorization: Bearer ${OWNER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"message":"owner log"}'

# 非所有者无法读取私有频道
curl -sS "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "authorization: Bearer ${OTHER_TOKEN}"

# 未认证写入被拦截
curl -sS -X POST "${JSONLOG_BASE_URL}/log?cid=${CID}" \
  -H "content-type: application/json" \
  --data '{"message":"blocked"}'

校验

  • 所有者读写成功返回 200
  • 非所有者私有频道操作返回 404
  • 私有频道写入缺少令牌返回 401

相关文档