# Authentication & Mind Key SUMMARY: วิธีที่ Synapse authentication ทำงาน: Mind Key สำหรับ agent, JWT สำหรับ human, ?key= สำหรับเครื่องมือ URL-only KEY CONTEXT: Two auth methods: Mind Key (token-scoped, never expires) and JWT (user-scoped, 7-day expiry). Mind Key: Authorization: Bearer mk_xxx OR ?key=mk_xxx (60 req/min limit on query) JWT: Authorization: Bearer eyJ... (no rate limit, used for /register, /login, /minds, /sharing) Mind Key is shown only once at creation. Store it permanently. Each mind has exactly one Mind Key. Multiple minds = multiple keys. Authentication & Mind Key Synapse ใช้สองวิธี authentication แต่ละวิธีปรับให้เหมาะกับกรณีใช้งานต่างกัน การเข้าใจความแตกต่างเป็นสิ่งจำเป็นสำหรับการสร้าง integration ที่เชื่อถือได้ สองวิธี Auth | วิธี | กรณีใช้งาน | Rate Limit | Expiry | |--------|----------|------------|--------| | Mind Key | LLM agent, เครื่องมืออัตโนมัติ | None (header) / 60 ต่อนาที (query) | ไม่มี | | JWT | Human-facing UI, การดำเนินการบัญชี | None | 7 วัน | Mind Key (สำหรับ Agent) Mind Key เป็น tenant-scoped API token ใช้ยืนยันตัวตนข้อมูล mind เดียว (memory, task, chat, script ฯลฯ) ใช้สำหรับ: - LLM agent เรียก API - สคริปต์ automation เบื้องหลัง - การกำหนดค่า MCP server - integration ที่อยู่ยาวนานใด ๆ Header authentication (แนะนำ) [CODE BLOCK] Query parameter (สำหรับเครื่องมือ URL-only) [CODE BLOCK] > [!WARNING] > query parameter จำกัดที่ 60 request ต่อนาที Bearer header ไม่จำกัด ใช้ header เมื่อใดก็ตามที่ client ของคุณรองรับ custom header การสร้าง Mind Key [CODE BLOCK] Response รวม — บันทึกทันที แสดงเพียงครั้งเดียว รายการ mind ของคุณ [CODE BLOCK] ลบ mind (ย้อนกลับไม่ได้!) [CODE BLOCK] JWT (สำหรับ Human) JWT ยืนยันตัวตน บัญชีผู้ใช้ ไม่ใช่ mind เฉพาะ ใช้สำหรับ: - การสมัครและล็อกอินบัญชี - สร้าง / รายการ / ลบ mind - แชร์ mind กับผู้ใช้อื่น - การจัดการ Web Push subscription สมัคร [CODE BLOCK] ส่งกลับ: ล็อกอิน [CODE BLOCK] ส่งกลับ: การหมดอายุของ JWT JWT หมดอายุหลัง 7 วัน เมื่อ JWT หมดอายุ เพียงเรียก อีกครั้งเพื่อรับใหม่ Mind Key ไม่หมดอายุ ดังนั้น integration ของ agent ที่มีอยู่ยังทำงานต่อ แนวทางปฏิบัติด้านความปลอดภัย > [!CRITICAL] > - อย่า commit Mind Key ลง git ใช้ environment variable > - อย่า log Mind Key ปิดบังใน log () > - หมุนเวียน key หากคุณสงสัยว่ารั่ว (ลบ mind, สร้างใหม่) > - ใช้หนึ่ง mind ต่อโปรเจกต์ เพื่อจำกัดผลกระทบหาก key รั่ว รูปแบบ environment variable [CODE BLOCK] [CODE BLOCK] กำหนดค่า MCP server [CODE BLOCK] รูปแบบ Multi-Mind ผู้ใช้แต่ละคนสามารถมีหลาย mind รูปแบบทั่วไป: | ชื่อ Mind | วัตถุประสงค์ | |-----------|---------| | | memory เกี่ยวกับงาน | | | ค่ากำหนดส่วนตัว, ครอบครัว | | | context โปรเจกต์เฉพาะ | | | ความคืบหน้าการเรียนรู้ | | | fallback สำหรับใช้ทั่วไป | ใช้ Mind Key ต่างกันสำหรับ LLM session ต่างกันเพื่อแยก context Rate Limit | วิธี Auth | Limit | Scope | |-------------|-------|-------| | Mind Key (header) | None | Per-mind | | Mind Key (?key=) | 60/min | Per-IP | | JWT (header) | None | Per-user | | Public endpoint | None | Global | Rate limit header (, , ) รวมอยู่ใน response เมื่อเกี่ยวข้อง ขั้นตอนถัดไป - Mind Key vs JWT — เมื่อใช้อันไหน - Memory API — สิ่งที่คุณทำได้กับ Mind Key - User API — การจัดการบัญชีด้วย JWT