
Tiket Masuk ke Sistem Orang Lain
Di artikel sebelumnya, kita sudah membahas bahwa API adalah pelayan yang menjembatani aplikasimu dengan data di server lain. Masalahnya, penyedia layanan seperti Google Maps, Midtrans (Payment Gateway), atau OpenAI (ChatGPT) tidak membiarkan pelayan mereka disuruh-suruh secara gratis oleh sembarang orang.
Mereka membutuhkan "Kartu Identitas" darimu agar bisa membatasi jumlah *request* atau menagih tagihan jika kamu melebihi batas gratis (Free Tier). Kartu identitas inilah yang disebut API Key.
Bentuk dan Cara Kerja API Key
API Key biasanya berupa deretan panjang huruf dan angka acak (kriptografik) yang terlihat seperti ini:
sk_test_51Iq8bA...xYz9Q0L2wMKetika kamu menggunakan fungsi Fetch atau Axios untuk mengambil data dari server penyedia layanan, kamu diwajibkan untuk "menyelipkan" API Key ini ke dalam request-mu, biasanya diletakkan di dalam Headers (sebagai *Authorization* atau x-api-key).
// Contoh penggunaan API Key saat mengambil data cuaca
fetch('https://api.cuaca.com/v1/jakarta', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY_HERE'
}
})Jika API Key tersebut tidak valid, salah ketik, atau kuota gratisanmu sudah habis, server mereka akan menolak permintaanmu dengan error 401 Unauthorized atau 429 Too Many Requests.
Bahaya Membocorkan API Key
API Key sangat berbahaya jika jatuh ke tangan yang salah. Jika kamu menggunakan API berbayar dari Amazon AWS dan kamu secara tidak sengaja meng-upload API Key-mu ke GitHub secara publik, bot *hacker* yang berpatroli akan menyalin kodemu dalam waktu kurang dari 5 menit.
Hacker tersebut kemudian menggunakan kunci milikmu untuk menyewa server penambang kripto atas namamu. Di akhir bulan, kamu akan kaget menerima tagihan kartu kredit hingga ratusan juta rupiah!
Kesimpulan
API Key adalah harta karun yang setara dengan PIN ATM-mu. Selalu simpan API Key di dalam file .env (Environment Variables) yang telah diamankan dengan .gitignore, dan pastikan API Key tersebut hanya dipanggil atau dieksekusi dari sisi Backend (Server-side), bukan terekspos di Frontend (JavaScript browser) yang bisa dilihat semua orang melalui *Inspect Element*.
Mau langsung pakai template?
Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.
Browse Templates