# Autentikasi & Mind Keys SUMMARY: Bagaimana autentikasi Synapse bekerja: Mind Keys untuk agen, JWT untuk manusia, ?key= dinonaktifkan secara default (hanya Bearer, AUTH_QUERY_KEY_MODE=deny). KEY CONTEXT: Two auth methods: Mind Key (token-scoped, never expires) and JWT (user-scoped, 7-day expiry). Mind Key: Authorization: Bearer mk_xxx (?key= DISABLED by default — AUTH_QUERY_KEY_MODE=deny hardened default; 401 + hint on ?key=) JWT: Authorization: Bearer eyJ... (120 req/min external IPs, unlimited internal; 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. Autentikasi & Mind Keys Synapse menggunakan dua metode autentikasi, masing-masing dioptimalkan untuk kasus penggunaan yang berbeda. Memahami perbedaannya sangat penting untuk membangun integrasi yang andal. Dua Metode Autentikasi | Metode | Kasus Penggunaan | Rate Limit | Kedaluwarsa | |--------|----------|------------|--------| | Mind Key | Agen LLM, alat otomatis | 120/menit (Bearer eksternal); ?key= dinonaktifkan secara default (deny) | Tidak pernah | | JWT | UI untuk manusia, operasi akun | 120/menit (IP eksternal) | 7 hari | Mind Key (untuk Agen) Mind Key adalah token API dengan cakupan tenant. Token ini mengautentikasi data satu mind (memori, tugas, chat, skrip, dll.). Gunakan untuk: - Agen LLM yang memanggil API - Skrip otomasi latar belakang - Konfigurasi MCP server - Integrasi berumur panjang apa pun Autentikasi header (disarankan) [CODE BLOCK] Parameter query (dinonaktifkan secara default) [CODE BLOCK] > [!WARNING] > Parameter query dinonaktifkan oleh default yang diperkuat : > server menjawab dengan 401 dan petunjuk "Query-param auth (?key=) is disabled". Bearer-only adalah default aman > (SSOT: ). Hanya jika operator secara eksplisit menetapkan , > bekerja sebagai katup transisi dengan 60 req/min (per IP). Klien Bearer eksternal mendapat > 120 req/min per identitas; jaringan internal tepercaya tidak terbatas. Membuat Mind Key [CODE BLOCK] Respons menyertakan — simpan segera, hanya ditampilkan sekali. Mendaftar mind Anda [CODE BLOCK] Menghapus mind (ireversibel!) [CODE BLOCK] JWT (untuk Manusia) JWT mengautentikasi akun pengguna, bukan mind spesifik. Gunakan untuk: - Pendaftaran dan login akun - Membuat / mendaftar / menghapus mind - Berbagi mind dengan pengguna lain - Manajemen langganan Web Push Daftar [CODE BLOCK] Mengembalikan: Login [CODE BLOCK] Mengembalikan: Kedaluwarsa JWT JWT kedaluwarsa setelah 7 hari. Saat JWT kedaluwarsa, cukup panggil lagi untuk mendapatkan yang baru. Mind Key tidak pernah kedaluwarsa, sehingga integrasi agen yang ada tetap berfungsi. Praktik Terbaik Keamanan > [!CRITICAL] > - Jangan pernah commit Mind Key ke git. Gunakan variabel lingkungan. > - Jangan pernah mencatat Mind Key. Mask di log (). > - Rotasi key jika Anda mencurigai kebocoran (hapus mind, buat yang baru). > - Gunakan satu mind per proyek untuk membatasi dampak jika key bocor. Pola variabel lingkungan [CODE BLOCK] [CODE BLOCK] Konfigurasi MCP server [CODE BLOCK] Pola Multi-Mind Setiap pengguna dapat memiliki beberapa mind. Pola umum: | Nama Mind | Tujuan | |-----------|---------| | | Memori terkait pekerjaan | | | Preferensi pribadi, keluarga | | | Konteks proyek spesifik | | | Kemajuan belajar | | | Fallback tujuan umum | Gunakan Mind Key yang berbeda untuk sesi LLM yang berbeda untuk menjaga konteks tetap terisolasi. Rate Limits | Metode Auth | Batas | Cakupan | |-------------|-------|-------| | Mind Key (header) | 120/menit dari IP eksternal (per identitas); tanpa batas untuk jaringan internal tepercaya | Per-mind | | Mind Key (?key=, hanya dengan allow) | 60/min | Per-IP | | JWT (header) | 120 req/menit (IP eksternal; tanpa batas untuk jaringan internal tepercaya) | Per-user | | Endpoint publik | Tidak ada | Global | Header rate limit (, , ) disertakan dalam respons jika berlaku. Langkah Berikutnya - Mind Key vs JWT — kapan menggunakan yang mana - Memory API — apa yang dapat Anda lakukan dengan Mind Key - User API — manajemen akun dengan JWT