- Diterbitkan pada
Bagaimana merancang akses API web yang aman untuk situs web Anda?
- Penulis

- Nama
- AbnAsia.org
- @steven_n_t
Ketika kita mengizinkan pengguna untuk mengakses web API, kita perlu memastikan bahwa setiap permintaan API diverifikasi. Ini berarti kita perlu mengonfirmasi bahwa pengguna adalah orang yang mereka klaim.

Dalam postingan ini, kita akan melihat dua cara umum untuk mengamankan akses API:
Autentikasi Berbasis Token
Autentikasi HMAC (Hash-based Message Authentication Code)
Diagram di bawah menunjukkan cara kerja masing-masing metode.
Autentikasi Berbasis Token
Pengguna memasukkan kata sandi mereka di klien, yang kemudian mengirimkannya ke Server Autentikasi.
Server memverifikasi kata sandi dan membuat token dengan waktu kedaluwarsa.
Klien sekarang dapat menggunakan token ini di header HTTP untuk membuat permintaan ke server.
Token tetap valid hingga kedaluwarsa, memungkinkan akses ke sumber daya server.
Autentikasi Berbasis HMAC
Server menghasilkan dua kunci: kunci publik (Public APP ID) dan kunci privat (API Key).
Di sisi klien, tanda tangan (HMAC) dibuat menggunakan kunci-kunci ini dan beberapa atribut yang tercantum dalam diagram.
Klien mengirim permintaan ke server dengan tanda tangan HMAC ini di header HTTP.
Server menerima permintaan, mengekstrak atribut, dan membuat tanda tangan (HMAC B) menggunakan API Key yang disimpan.
Server membandingkan HMAC A (dari klien) dan HMAC B (dari server). Jika cocok, server merespons permintaan.
Pertanyaan: Bagaimana HMAC memastikan integritas data? Mengapa kita memasukkan "waktu permintaan" dalam HMAC?
Jawaban: HMAC memastikan integritas data dengan membuat tanda tangan unik berdasarkan data permintaan dan kunci, sehingga jika data berubah, tanda tangan tidak akan cocok. Memasukkan "waktu permintaan" membantu mencegah serangan ulang (permintaan lama yang digunakan kembali), karena tanda tangan hanya valid untuk waktu tertentu.
Harap dicatat bahwa versi bahasa Indonesia didukung oleh AI dan karena itu mungkin terjadi kesalahan kecil.
Penulis
Ai Base Network (ABN), ABN ASIA didirikan oleh orang-orang dengan akar yang kuat di dunia akademis, dengan pengalaman kerja di Amerika Serikat, Belanda, Hungaria, Jepang, Korea Selatan, Singapura, dan Vietnam. ABN Asia adalah tempat di mana akademik dan teknologi bertemu dengan peluang. Dengan solusi terdepan kami dan layanan pengembangan perangkat lunak yang kompeten, kami membantu bisnis untuk meningkatkan level dan bersaing di panggung global. Komitmen kami: Lebih Cepat. Lebih Baik. Lebih handal. Dalam kebanyakan kasus: Lebih murah juga.
Jangan ragu untuk menghubungi kami jika Anda membutuhkan layanan IT, konsultasi digital, solusi perangkat lunak siap pakai, atau jika Anda ingin mengirimkan permintaan proposal (RFP). Anda dapat menghubungi kami di [email protected]. Kami siap membantu Anda dengan semua kebutuhan teknologi Anda.

© ABN ASIA