JL
TH
หน้าเอกสาร
เมนู
คู่มือ

บูตสแตรป Auth และ Token

รับโทเค็นระดับบัญชีสำหรับเส้นทาง jsonlog ที่ต้องยืนยันตัวตน

guide jsonlog

บูตสแตรป Auth และ Token

วัตถุประสงค์: รับ Bearer token ระดับบัญชีก่อนเรียกใช้เส้นทาง jsonlog ที่ต้องยืนยันตัวตน

หมายเหตุขอบเขต:

  • ลำดับงานนี้เรียก endpoint ของ auth.jsonlog.com
  • เส้นทางเหล่านี้ไม่อยู่ใน OpenAPI ของ jsonlog

เงื่อนไขก่อนเริ่ม

  • เข้าถึงบริการ JsonLog ได้ (ใช้งานในเครื่องค่าเริ่มต้น http://localhost:3002)
  • ตั้งค่า environment ของ auth สำหรับ origin และ client แล้ว
  • มี node, curl, jq หากใช้สคริปต์บูตสแตรป

ลำดับงาน UI

  1. ผู้ใช้เข้าสู่ระบบผ่าน auth client ที่ตั้งค่าสำหรับ jsonlog
  2. ไคลเอนต์ได้รับ access token ที่มี claim บัญชี (acc)
  3. ไคลเอนต์ส่ง Authorization: Bearer <token> เมื่อเรียกเส้นทางป้องกันของ jsonlog

ลำดับงาน API/Script

ใช้ helper สำหรับบูตสแตรปเพื่อเตรียม identity ทดสอบและพิมพ์ manifest ของโทเค็นบัญชี

cd jsonlog
set -a && source .env && set +a
TEST_EMAIL_DOMAIN="example.com" npm run auth:bootstrap

ดึงค่า account_access_token จากผลลัพธ์ manifest เพื่อใช้กับ /query

ลำดับงาน HTTP/curl

AUTH_BASE_URL="https://auth.jsonlog.com"
JSONLOG_BASE_URL="http://localhost:3002"
ACCESS_TOKEN="<account_scoped_token>"

curl -sS "${AUTH_BASE_URL}/.well-known/jwks.json?client_id=cid_jsonlog"

curl -sS -X POST "${JSONLOG_BASE_URL}/query" \
  -H "authorization: Bearer ${ACCESS_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"start_ts": 1700000000000, "end_ts": 1700000600000}'

การตรวจสอบ

  • token หายไป/ไม่ถูกต้องที่ /query จะได้ 401
  • token ถูกต้องและมี claim บัญชีจะได้ 200 พร้อม query response envelope

เอกสารที่เกี่ยวข้อง