Authentication & Mind Key
วิธีที่ Synapse authentication ทำงาน: Mind Key สำหรับ agent, JWT สำหรับ human, ?key= สำหรับเครื่องมือ URL-only
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 (แนะนำ)
curl -H "Authorization: Bearer mk_yourMindKeyHere" \
https://synapse.schaefer.zone/memory/recallQuery parameter (สำหรับเครื่องมือ URL-only)
curl https://synapse.schaefer.zone/memory/recall?key=mk_yourMindKeyHereการสร้าง Mind Key
curl -X POST https://synapse.schaefer.zone/minds \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{"name": "Work Mind", "description": "Project memories"}'Response รวม mind_key — บันทึกทันที แสดงเพียงครั้งเดียว
รายการ mind ของคุณ
curl -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/mindsลบ mind (ย้อนกลับไม่ได้!)
curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
https://synapse.schaefer.zone/minds/m_xyz789JWT (สำหรับ Human)
JWT ยืนยันตัวตน บัญชีผู้ใช้ ไม่ใช่ mind เฉพาะ ใช้สำหรับ:
- การสมัครและล็อกอินบัญชี
- สร้าง / รายการ / ลบ mind
- แชร์ mind กับผู้ใช้อื่น
- การจัดการ Web Push subscription
สมัคร
curl -X POST https://synapse.schaefer.zone/register \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "secret"}'ส่งกลับ: { "jwt": "eyJ...", "user": {...} }
ล็อกอิน
curl -X POST https://synapse.schaefer.zone/login \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "secret"}'ส่งกลับ: { "jwt": "eyJ...", "user": {...} }
การหมดอายุของ JWT
JWT หมดอายุหลัง 7 วัน เมื่อ JWT หมดอายุ เพียงเรียก /login อีกครั้งเพื่อรับใหม่ Mind Key ไม่หมดอายุ ดังนั้น integration ของ agent ที่มีอยู่ยังทำงานต่อ
แนวทางปฏิบัติด้านความปลอดภัย
รูปแบบ environment variable
# .env (NEVER commit this file)
SYNAPSE_MIND_KEY=mk_yourMindKeyHere
SYNAPSE_URL=https://synapse.schaefer.zone// Node.js
const mindKey = process.env.SYNAPSE_MIND_KEY;
const url = process.env.SYNAPSE_URL;
await fetch(`${url}/memory/recall`, {
headers: { Authorization: `Bearer ${mindKey}` },
});กำหนดค่า MCP server
{
"mcpServers": {
"synapse": {
"command": "npx",
"args": ["-y", "synapse-mcp-api@latest"],
"env": {
"SYNAPSE_MIND_KEY": "mk_yourMindKeyHere",
"SYNAPSE_URL": "https://synapse.schaefer.zone"
}
}
}
}รูปแบบ Multi-Mind
ผู้ใช้แต่ละคนสามารถมีหลาย mind รูปแบบทั่วไป:
| ชื่อ Mind | วัตถุประสงค์ |
|---|---|
work |
memory เกี่ยวกับงาน |
personal |
ค่ากำหนดส่วนตัว, ครอบครัว |
project-synapse |
context โปรเจกต์เฉพาะ |
learning-german |
ความคืบหน้าการเรียนรู้ |
assistant-default |
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 (X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After) รวมอยู่ใน response เมื่อเกี่ยวข้อง
ขั้นตอนถัดไป
- Mind Key vs JWT — เมื่อใช้อันไหน
- Memory API — สิ่งที่คุณทำได้กับ Mind Key
- User API — การจัดการบัญชีด้วย JWT