Cara routing untuk auth page di react native, web?

sebenernya spesifik teknologinya sih pake React, Vue, atau Angular. cmn kebetulan saya pake React dan bingung sama Flownya. kalo pake Flow saya takut kurang enak kedepannya soalnya saya juga lagi belajar clean code.

jadi intinya cara Routing di react yang pagenya itu harus login dulu gimana ya? contohnya buat admin page...

kalo saya sekarang kan sudah pakai fitur interceptornya axios, jadi setiap mau request ke api yang butuh token interceptornya bakal jadi kayak middleware di frontendnya. sebelum request ke url web apinya misalnya di frontend itu lihat data barang maka backend bakal kasih response json data barang maka axiosnya cek dulu tokennya masih aktif atau tidak. kalo semisal token masih aktif langsung response berupa data json dari url api yang ditembak tadi yaitu data barang. tapi kalo token expired yang mana responsenya 401 axios bakal nembak dulu request ke url refreshToken yang sudah disediakan dari apinya, nanti generate token baru dan refreshToken baru kemudian disimpan di localstorage kemudian baru request lagi ke url yang dituju baru response jsonnya muncul. nah kalo flow kayak gitu rekomen gk?

atau mendingan setiap mau buka page di FrontEnd yang emang diprotected langsung cek token dulu ke backend dari componentDidMount, kalo token oke langsung kebuka pagenya kalo token expired langsung refreshtokennya... kira kira flownya yang readible sama biasa digunain sama FrontEnd Dev itu gimana ya?

trus kalo semisal token cmn 8menit dan refreshToken cmn 30 hari dan aplikasinya udah gk dibuka sampai 31 hari, otomatis kan keduanya udah expired. cara handlenya nanti gimana ya?

terimakasih

avatar nurcahyaari
@nurcahyaari

34 Kontribusi 12 Poin

Diperbarui 4 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

Coba baca gist ini tentang <a href=' https://gist.github.com/soulmachine/b368ce7292ddd7f91c15accccc02b8df '>handle expiration token</a> deh lumayan bagus

Di poin no.1 contoh kamu punya token expire 7 hari, sebenarnya tujuannya kalau usernya ga login selama 7 hari makan user harus login ulang, tapi kalo dia masih login, usahakan di hari ke 6 kasih usernya token baru yang berlaku 7 hari berikutnya lagi.

[update] bagaimana prosesnya? tidak ada cara baku, kamu bisa coba, dengan ngecek selisih waktu "issued_at" kapan waktu token dibuat, dengan waktu sekarang, kalau sudah ada di batas yang diingingkan, bisa panggil "fungsi" baru misalnya "/token/extend" untuk perpanjang token. Intinya fleksibel, yang penting kamu bisa deteksi waktunya, tidak harus background job,

avatar hilmanski
@hilmanski

2665 Kontribusi 2131 Poin

Dipost 4 tahun yang lalu

Tanggapan

nah cara refresh tokennya si user pas udah hari ke 6 itu bagaimana ya? apa dihandle dari backend pake cronjob? soalnya kalau aplikasi udah gk dibuka selama lebih dari expired token kan gk akan terjadi manupulasi data dari web app nya..

btw artikelnya lumayan bagus mas.. oh iya sekedar saran buat video penjelasan auth kayak gini mas di sekolah koding hehehe

terima kasih, jawaban di atas saya update

okke makasih mas, sudah agak mudeng sekarang hehehe

Login untuk ikut Jawaban