Saya melihat kata ini di hampir setiap aplikasi lintas layanan hari ini.
Apa sebenarnya kunci API itu dan apa kegunaannya?
Juga, apa perbedaan antara kunci API publik dan pribadi.
Saya melihat kata ini di hampir setiap aplikasi lintas layanan hari ini.
Apa sebenarnya kunci API itu dan apa kegunaannya?
Juga, apa perbedaan antara kunci API publik dan pribadi.
Jawaban:
Untuk apa "sebenarnya" kunci API digunakan sangat bergantung pada siapa yang menerbitkannya, dan untuk layanan apa kunci itu digunakan. Namun, pada umumnya, kunci API adalah nama yang diberikan untuk beberapa bentuk token rahasia yang dikirimkan bersama permintaan layanan web (atau serupa) untuk mengidentifikasi asal permintaan. Kuncinya dapat disertakan dalam beberapa intisari konten permintaan untuk lebih memverifikasi keaslian dan untuk mencegah perusakan nilai.
Biasanya, jika Anda dapat mengidentifikasi sumber permintaan secara positif, ini bertindak sebagai bentuk otentikasi, yang dapat mengarah ke kontrol akses. Misalnya, Anda dapat membatasi akses ke tindakan API tertentu berdasarkan siapa yang melakukan permintaan. Untuk perusahaan yang menghasilkan uang dari menjual layanan semacam itu, ini juga merupakan cara melacak siapa yang menggunakan barang untuk tujuan penagihan. Lebih jauh lagi, dengan memblokir kunci, Anda dapat mencegah penyalahgunaan sebagian jika volume permintaan terlalu tinggi.
Secara umum, jika Anda memiliki kunci API publik dan privat, maka itu menunjukkan bahwa kunci itu sendiri adalah pasangan kunci publik / pribadi tradisional yang digunakan dalam beberapa bentuk kriptografi asimetris , atau penandatanganan digital terkait. Ini adalah teknik yang lebih aman untuk mengidentifikasi sumber permintaan secara positif, dan sebagai tambahan, untuk melindungi konten permintaan dari pengintaian (selain gangguan).
Secara umum:
Kunci API hanya mengidentifikasi Anda.
Jika ada perbedaan publik / privat, maka kunci publik adalah salah satu yang dapat Anda distribusikan kepada orang lain, untuk memungkinkan mereka mendapatkan beberapa subset informasi tentang Anda dari api. Kunci pribadi hanya untuk Anda gunakan, dan memberikan akses ke semua data Anda.
Sepertinya banyak orang yang menggunakan kunci API sebagai solusi keamanan. Intinya adalah: Jangan pernah memperlakukan kunci API sebagai rahasia, itu bukan rahasia . Di https atau tidak, siapa pun yang dapat membaca permintaan tersebut dapat melihat kunci API dan dapat melakukan panggilan apa pun yang mereka inginkan. Kunci API harus hanya sebagai pengenal 'pengguna' karena ini bukan solusi keamanan lengkap bahkan ketika digunakan dengan ssl.
Deskripsi yang lebih baik ada dalam tautan Eugene Osovetsky ke: Ketika bekerja dengan sebagian besar API, mengapa mereka memerlukan dua jenis otentikasi, yaitu kunci dan rahasia? Atau periksa http://nordicapis.com/why-api-keys-are-not-enough/
Kunci API adalah nilai unik yang ditetapkan ke pengguna layanan ini ketika dia diterima sebagai pengguna layanan.
Layanan ini menyimpan semua kunci yang dikeluarkan dan memeriksanya di setiap permintaan.
Dengan melihat kunci yang diberikan pada permintaan tersebut, layanan memeriksa apakah itu kunci yang valid untuk memutuskan apakah akan memberikan akses kepada pengguna atau tidak.
Anggap saja seperti ini, "Kunci API Publik" mirip dengan nama pengguna yang digunakan database Anda sebagai login ke server verifikasi. Kemudian "Kunci API Pribadi" akan serupa dengan sandi. Oleh situs / databse yang menggunakan metode ini, keamanan di server pihak ketiga / verifikasi untuk permintaan autentik untuk memposting atau mengedit situs / database Anda.
String API hanyalah URL login untuk situs / database Anda untuk menghubungi server verifikasi.