Bekerja pada API saat ini dan hanya ingin mengumpulkan pendapat tentang di mana tempat terbaik untuk mengirimkan kunci API. Saya tahu bahwa seharusnya tidak ada di URL, ini meninggalkan header permintaan atau badan pesan.
Jika saya meletakkannya di header saya bisa datang dengan metode generik untuk menariknya keluar yang dapat digunakan di semua layanan, namun spesifikasi yang saya berikan menginginkannya di tubuh (yaitu dalam string JSON dimasukkan sebagai bagian dari objek berseri dalam tubuh POST).
Jawaban:
Di HTTP, ada
Authorization
tajuk untuk itu.Meskipun biasanya digunakan untuk memberikan kredensial pengguna, dalam kasus API, ini dapat berisi ID klien dan kunci API yang sesuai.
Ada beberapa manfaat:
Dukungan dari berbagai kerangka kerja. Banyak kerangka kerja akan mengharapkan
Authorization
tajuk untuk melakukan otentikasi. Tidak menggunakannya akan memaksa untuk menulis kode tambahan untuk memberi makan kerangka kerja tersebut dengan nilai-nilai khusus.Dukungan dari berbagai alat. Misalnya CURL.
Kurang “WTF di mana saya menemukan / meletakkan kunci API ini ?!” dari pengembang baru yang bergabung dengan tim (atau pengembang yang merancang klien baru untuk API Anda).
Anda kemudian dapat menggunakan definisi kode status HTTP seperti
401 Unauthorized
, untuk yang :Memindahkannya ke tubuh permintaan bisa menjadi cepat menyakitkan. Sebagian besar kerangka kerja dan alat tidak membuatnya sangat mudah untuk menambahkan tubuh ke permintaan, yang dapat membuat API Anda lebih sulit daripada yang seharusnya.
sumber