Permisi @MarkAmery dan Eugene, tapi itu tidak benar.
Aplikasi js + html (klien) Anda yang berjalan di browser DAPAT disiapkan untuk mengecualikan panggilan langsung yang tidak sah ke API sebagai berikut:
- Langkah pertama: Siapkan API untuk meminta autentikasi. The klien pertama harus mengotentikasi sendiri melalui server (atau beberapa server yang keamanan lainnya) misalnya meminta pengguna manusia untuk memberikan password yang benar.
Sebelum otentikasi, panggilan ke API tidak diterima.
Selama otentikasi, sebuah "token" dikembalikan.
Setelah otentikasi, hanya panggilan API dengan otentikasi "token" yang akan diterima.
Tentu saja pada tahap ini hanya pengguna resmi yang memiliki kata sandi yang dapat mengakses API, meskipun jika mereka adalah pemrogram yang men-debug aplikasi, mereka dapat mengaksesnya secara langsung untuk tujuan pengujian.
- Langkah kedua: Sekarang siapkan API keamanan tambahan, yang akan dipanggil dalam waktu singkat setelah aplikasi klien js + html awalnya diminta dari server. "Callback" ini akan memberi tahu server bahwa klien berhasil diunduh. Batasi panggilan REST API Anda untuk bekerja hanya jika klien diminta baru-baru ini dan berhasil.
Sekarang untuk menggunakan API Anda, mereka harus mengunduh klien terlebih dahulu dan benar-benar menjalankannya di browser. Hanya setelah berhasil menerima panggilan balik, dan kemudian entri pengguna dalam waktu singkat, API akan menerima panggilan.
Jadi Anda tidak perlu khawatir bahwa ini mungkin pengguna yang tidak sah tanpa kredensial.
(Judul pertanyaan, 'Bagaimana cara mengamankan panggilan REST API', dan dari sebagian besar yang Anda katakan, itu adalah perhatian utama Anda, dan bukan pertanyaan literal tentang BAGAIMANA API Anda dipanggil, melainkan OLEH SIAPA, yang benar? )