tentang keamanan otentikasi berbasis token

8

Saya membaca layanan terotentikasi dengan token. Saya mengerti bahwa pengguna harus mendapatkan token untuk menggunakan layanan arcgis. Contoh: https://domain.com/arcgis/rest/services/myMap/MapServer adalah layanan saya. Administrator server saya memberi saya token seperti ini. Token = AJSJK876548sjjs7

Dan saya menggunakan layanan ini di api javascript saya seperti ini https://domain.com/arcgis/rest/services/myMap/MapServer?token=AJSJK876548sjjs7

Seorang pengguna dapat melihat sumber aplikasi saya dari browser dan dapat memperoleh token saya. Dan Dia dapat mengakses layanan saya. Apakah ini masalah keamanan?

barteloma
sumber

Jawaban:

8

Ya, ini masalah keamanan.

Solusi umum adalah melalui proxy-layanan yang Anda tulis yang dapat dihubungi klien Anda yang pada gilirannya akan memanggil titik akhir. Klien Anda memanggil layanan Anda dengan semua argumen kecuali token. Layanan menyalin semua argumen yang diteruskan ke sana, menambahkan token, memanggil titik akhir, dan mengembalikan respons ke klien Anda.

Russell di ISC
sumber
2
Penting untuk dicatat bahwa dengan pendekatan ini tanggung jawab ada pada pengembang untuk mengamankan proxy. Lagi pula, pengguna sekarang dapat berpura-pura menjadi aplikasi dan meminta proxy untuk mengembalikan informasi secara tidak langsung dari layanan yang mendasarinya. Pada akhirnya keamanan Anda harus memperhitungkan bahwa pengguna yang berwenang pada akhirnya akan memiliki akses ke data mentah. Jika Anda perlu membatasi data yang dapat diakses oleh pengguna yang berwenang, Anda harus menambahkan logika untuk melakukannya di proxy.
Philip
Poin bagus, Phillip.
Russell di ISC