~/VibeHandbook
PDF Gratis

Bab 04 · 06

Kunci API dan header autentikasi

Kebanyakan yang berguna tidak terbuka untuk semua orang. Perusahaan perlu tahu siapa yang bertanya, supaya mereka bisa melacak pemakaian dan menagih tagihan. Mereka memberimu kunci API (API key) — sebuah string rahasia panjang yang mengidentifikasi akunmu. Kamu melampirkannya ke setiap permintaan, biasanya dalam sebuah header bernama Authorization, seperti baris Bearer sk_live_... di atas.

Perlakukan kunci API persis seperti kata sandi, karena memang itulah fungsinya. Siapa pun yang memilikinya bisa mengajukan permintaan sebagai dirimu — dan menaikkan tagihanmu atau membaca datamu. Ini berhubungan langsung dengan bab keamanan, dan ada satu aturan yang paling penting:

  • Jangan pernah menaruh kunci API di kode yang dikirim ke browser. Apa pun yang ada di frontend-mu bersifat publik — pengguna bisa membuka dev tools dan membacanya. AI, jika diminta "memanggil API dari halaman," akan dengan riang menempelkan kunci rahasiamu tepat di situ. Hentikan itu. Kunci rahasia berada di server.
  • Jangan pernah meng-commit kunci ke . Bahkan jika kamu menghapusnya nanti, ia tetap hidup selamanya di riwayat (history), dan bot memindai repo publik untuk mencari kunci dalam hitungan menit.
  • Simpan kunci di environment variables, bukan di kode itu sendiri — pola yang sama yang dibahas di bab keamanan.

Kunci itu harus berjalan dari tempat yang aman, tidak pernah dari browser. Bayangkan dua jalur ini — satu aman, satu bocor:

   SAFE ✓                                  LEAK ✗
   ┌──────────┐  key   ┌──────────┐        ┌──────────┐  key  ┌──────────┐
   │  SERVER  │ ─────▶ │   API    │        │ BROWSER  │ ────▶ │   API    │
   │ (your    │ stays  │          │        │ (anyone  │       │          │
   │  backend)│ hidden │          │        │  can     │       │          │
   └──────────┘        └──────────┘        │  read it)│       └──────────┘
   key in env var                          └──────────┘
                                           key in frontend = public

Jika kamu pernah melihat kunci sungguhan bersandar di sebuah diff, di sebuah file , atau di sebuah pesan chat, anggap saja ia sudah bocor: rotasi (regenerate baru, nonaktifkan yang lama) segera.

Mau versi offline?

Unduh seluruh buku sebagai PDF atau EPUB — gratis.