แผนผังลำดับงานฝั่งไคลเอนต์
วัตถุประสงค์: กำหนดลำดับขั้นตอนระดับสูงที่คาดหวังสำหรับไคลเอนต์ที่เชื่อมต่อกับ jsonlog
ลำดับงานหลัก
- บูตสแตรป auth กับ
auth.jsonlog.comและรับ Bearer token สำหรับเส้นทางที่แยกตามบัญชี - ส่ง log ผ่าน
POST /log(สาธารณะหรือรายช่องทาง) พร้อม JSON body - สตรีม log แบบเรียลไทม์ผ่าน
GET /wsupgrade โดยใส่ตัวกรองcidและlevelได้ - บังคับสิทธิ์ช่องทางส่วนตัวตาม claim บัญชี (
acc) สำหรับการอ่าน/เขียนทั้ง HTTP และ WebSocket - ค้นหาไฟล์ SSTable แบบ durable ผ่าน
POST /queryและดูค่าสรุปผ่านGET /query/stats - ตรวจสอบความพร้อมใช้งานและสถานะเส้นทางเขียนผ่าน
GET /healthและGET /stats
กลุ่ม Endpoints
- การรับข้อมูล:
POST /logGET /log
- การสตรีม:
GET /ws(WebSocket upgrade endpoint)
- การค้นหา:
POST /queryGET /query/stats
- บริการ:
GET /healthGET /stats
- เอกสาร:
GET /openapi.jsonGET /docsGET /swagger
ข้อกำหนดด้านความปลอดภัย
- การตรวจลายเซ็น JWT ใช้ค่าเริ่มต้น
https://auth.jsonlog.com/.well-known/jwks.json?client_id=cid_jsonlog - เส้นทาง
/queryต้องใช้ Bearer auth และใช้accใน JWT เพื่อแยกบัญชี - การเข้าถึงช่องทางส่วนตัวต้องให้
accใน JWT ตรงกับเจ้าของช่องทาง - การอ่านช่องทางส่วนตัวที่ไม่ได้รับอนุญาตจะตอบ
404เพื่อป้องกันการเดาช่องทาง - โหมดไม่ใช้ auth ใช้ได้เฉพาะพัฒนาในเครื่อง และไม่ควรเป็นค่าเริ่มต้นใน production