Cara agar token jwt tidak dapat digunakan diluar dari website atau aplikasi saya

saya sedang membangun sebuah aplikasi web dan mobile dengan menggunakan api yang menggunakan autentikasi JWT. saat user login akan mendapatkan token JWT dan di simpan di local storage browser.

yang ingin saya tanyakan adalah bagai mana agar token JWT yang di dapatkan user tidak digunakan langsung ke api backend tanpa harus mengakses data dari akses web atau mobile dalam artian user menggunakan curl atau bypass FrontEnd

Terima Kasih sebelumnya (^_^)

avatar priaculun
@priaculun

3 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

4 Jawaban:

selipkan token di header curl

<a href=' https://stackoverflow.com/questions/3044315/how-to-set-the-authorization-header-using-curl '>cara mengirim token di curl via stackoverflow</a>

avatar hilmanski
@hilmanski

2672 Kontribusi 2132 Poin

Dipost 5 tahun yang lalu

maaf kalau pertanyaan saya agak membingungkan :D

tapi yang ingin saya tanyakan bagai mana cara agar token JWT saya hanya bisa di akses dari frontend angular saja dan tidak dapat digunakan atau tidak direspon jika melakukan request dari CURL

avatar priaculun
@priaculun

3 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

Tanggapan

kalau ada tanggapan tulis di "komentar" ya, jangan jadi jawaban :D

Di servernya atur Access-Control-Allow-Origin: example.com jadi hanya bisa diakses dari domain yang kamu tentukan saja. Tapi seperti yang ditulis, cURL cukup powerful, ada banyak opsi di headernya yang bisa diubah

Cara lainnya yang bisa dicoba untuk mengakali cURL, adalah dengan menyediakan "csrf token". Token ini hanya digenerate saat user membuka halaman, dan akan teracak lagi saat sudah submit form tertentu. Jadi walaupun orang pakai cURL, dia tetap harus mendapatkan token yang baru (alias submit/refresh halaman) . Jadi bisa digunakan untuk meminimalisir hal yang tidak diinginkan.

avatar hilmanski
@hilmanski

2672 Kontribusi 2132 Poin

Dipost 5 tahun yang lalu

tapi jika di jalankan di curl dengan manambahkan command seperti di bawah ini tetap akan bisa menerima akses jika di batasi menggunakan Access-Control-Allow-Origin

curl_setopt($ch,CURLOPT_HTTPHEADER,array('Origin: example.com'));

avatar priaculun
@priaculun

3 Kontribusi 0 Poin

Dipost 5 tahun yang lalu

Tanggapan

iyap betul, curl memang powerful, user agent asal browser pun harusnya bisa diedit. Sejauh ini saya belum melihat cara mendeteksinya, kalau ada referensi akan saya jawab lagi

saya sudah update jawaban sebelumnya, untuk jadi refrensi

Login untuk ikut Jawaban