sekedar sharing saja, di tempat saya implementasi JWT nya untuk refresh_token dirolling. Jadi ketika client minta token baru akan return data acces_token, dan refresh_token yang baru. Jadi refresh_token selalu dirolling dan akan berbeda-beda ketika meminta acces_token baru
makash banyak bang, sangat bermanfaat sekali, sering sering bikin pembahasan kaya gini bg, biar paham dulu sebelum develop🥲🥲🙏 mau nanya dong bang, kalo mekanisme Logout bagaimana ya? apakah dibuatkan api juga di backend untuk hapus cookie dan refresh tokenya?
terimakasih mas videonya bagus tapi kali ini menurut saya agak kurang lengkap materinya seperti bagian terpenting dalam jwt yaitu expired at dan issued at dalam payload dan fungsi nya masing2 dalam berbagai strategi auth nya
agak kurang dikit bang, kayak asbabul nuzul jwt, agak bingung konsep refresh token, jwt yg pakai reffesh token itu yg di payload tidak ada iat kah? atau hanya menpermudah auth server tidak perku login ulang hanya menunjukan toker refresh? menarik saya user sebuah aplikasi yg menggunakan sso,, token bisa dipakai terus utk komunikasi ke server menu jika menggunakan fetch, post atau ajax, tidak di direct ke sso login, atau menolak req, kalau pakai halaman aslinya dia sudah gak feaktif dan ketika refresh du lenpar ke sso
sepertinya jwt itu ada karena kebutuhan stateless pada saat proses auth sehingga backend gak perlu query ke db terus untuk validasi token nya pada tiap request@@Danzz_0_0
mau nanya bg, untuk request access token baru pake refresh token apa harus dibuat API nya juga? atau di sisipin aja di middleware verifyToken pas tau kalo access tokenya gagal
Kalo utk teknisnya saya gak ada rekomendasi spesifiknya dr mana. Bisa googling, cari di UA-cam, atau tanya ke ChatGPT. Kalo menurut saya, selama udah ngerti BE-FE, maka yg dibutuhkan sekedar cari librari utk create & validate JWT. Jadi dg modal pengetahuan BE-FE & konsep JWT auth, bisa bikin API sendiri, setup db sendiri, dan tinggal pakai aja library JWTnya 😁
Tapi bang bukannya JWT token itu fungsinya agar menperlancar proses kecepatan di server side ya kalau dilakukan penyimpanan token didatabase sesuai cara ke-2 bukannya sama aja gk pakai JWT tapi pakek session biasanya
@@alfiandm5782 Yups memang tetep perlu cek db, tp hanya auth service, dan cek db nya hanya dilakukan 10 menit sekali. Di service lain itu gak perlu cek db, cukup cek JWT aja. Tambahan: JWT itu solve problem yg saya jelaskan di 4:45 (ini terjadi di penggunaan session token)
Access token expirednya brp lama? Ini udah terjawab di menit 09:56 ya... Refresh token expirednya brp lama? Tergantung, kamu pengennya user gak pernah logout, atau dlm waktu sebulan auto logout (artinya user harus login tiap bulan), atau dlm waktu seminggu auto logout, atau gimana? Sesuaikan dengan kebutuhan
Bang saya punya pertanyaan untuk konsep refresh token. kan access token cuma aktif 10 menit dan expired. kalau saya request untuk me refresh access tokennya pada 10 menit lewat 30 detik, apakah akan di refresh kan? atau di tolak dan suruh login ulang?
Ketika me-refresh token, yg dicek adalah apakah refresh tokennya valid. Bisa sekedar dicek validity-nya aja, atau dicek jg expiry time dari refresh-tokennya. Gak masalah access-tokennya udah expired.
@@afifu baik bang,, jadi 10 menit expired dari access token itu sebenarnya hanya untuk validasi refresh tokennya saja ya. terima kasih pencerahannya bang.
@@afifu bang , kalau tidak keberatan, bahas microservices dan konsep penyebaran JWT agar seluruh aplikasi pada microservices punya JWT terbaru.. terima kasih
@@afifu aplikasi saya (mobile), jika user tidak mengakses aplikasi lebih dari 3 menit maka akan ke keluar. logic saya begini, ketika expired di jwt berubah, maka token berubah kan ya? misal, setiap request, saya tambah expired 3 menit, maka token berubah(baru) dengan expired + 3 menit jadi, di setiap request, bakal ada respon token baru nya. Best pratictice nya gimana ya mas?
Bang kalo semisal token yg dikasih oleh response login untuk set header, kita simpan di cookie gimana, saolnya kalo dilocalStorage gak bisa di akses oleh SSR ya khusunya nextjs betulkah begitu?
Iya localStorage gak bisa diakses di server ketika pake strategi SSR ✅ Iya, bisa pake cara tsb, taro di cookie biar tokennya auto dikirim ke server gan
saya nemu aplikasi menggunakan double, cookies dan local storage, dan kirim authorizastion utk cookies, yg di local storage fi header X-CSRFTOKEN. berhub itu aplikasi input data ribuan saya terpaksa input by script krn halaman input saja belum tentu load sempurna krn aksesnya lagi tinggi dan wajib dan lagi periode penginputan. aplikasi pakai vue js, utk handle post and update info page
apakah bisa data cookie, localstorage atau session storage di curi pada suatu website A, ketika kita mengunjungi website B, misal menggunakan javascript ?
@@labkita penurian data cookie itu pakenya XSS attack, dan tujuannya buah nge-hack. Kalo ads, itu bukan mencuri, dan itu ada mekanismenya sendiri (bukan XSS)
jadi pengecekan username dan password di database itu pake pengecekan biasa aj yh? kalo benar nnt di return jwt token gitu?,apa berlaku ke semua bahasa
Berarti proses meminta ulang access token itu dilakukan secara otomatis ketika access token kadaluarsa ya bang dan kita juga perlu buat endpoint khusus buat refresh tokenya begitu ?
Proses meminta akses token baru ini bisa ada 2 kemungkinan: * Bisa saat expired langsung request yg baru. * Bisa jg nunggu user mau melakukan request ke resource lain. Terserah sih mau yg mana.. Iya betul, perlu endpoint utk nge-request akses token baru.
nah ini nih penjelasan sekaligus di kasih contoh yang mudah dipahami, thanks bang
Sangat effort sekali penjelasannya , barakallahu
Respect dgn penjelasan anda bang. Sangat gampang untuk dimengerti. Terimakasih.
nice +1
youtuber about coding from indo yg gua suka
Keren, langsung ngerti, cocok bnget buat saya yg tipe visual
Membantu banget mas kontennya. Semangat bikin konten lagi mas!
Bagus bang, jadi ngerti konsepnya. request bang penjelasan alur penyimpanan images saat input form itu bagusnya di server atau cloud
sekedar sharing saja, di tempat saya implementasi JWT nya untuk refresh_token dirolling. Jadi ketika client minta token baru akan return data acces_token, dan refresh_token yang baru. Jadi refresh_token selalu dirolling dan akan berbeda-beda ketika meminta acces_token baru
Kalau dirolling gitu, refresh tokennya dikasih expired date berapa lama ya bg?
kalo udh di refresh gitu, token yang sebelumnya masih bisa dipake ga bang? walaupun belum expired
@@zaki8527 acces token Dan refresh token sebelumnya tidak bisa dipake karena masuk ke blacklist token
@@skidipap6673 caranya gimana tu bang, pake redis kah?
@@zaki8527 iya, blacklist token disimpan di database ataupun cache
Bang, video abang yang ini bagus asli.
terima kasih, animasinya keren
jadi penjelasannya sangat mudah dipahami
Ini dia video yang ditunggu-tunggu, jadi paham tentang JWT
Makasih gan
Sama2 gan 😁🙏
Teriakasih mas afif, penjelasannya ringan dengan bahasa yang mudah dipahami🙌
Thank you.. 😁🙏
mantap bang akhirnya sy ngerti kenapa ada access token dan refresh token 👊🏻👊🏻👊🏻
amjay, mantep dan agak mudah dipahami... gg bang
makash banyak bang, sangat bermanfaat sekali,
sering sering bikin pembahasan kaya gini bg, biar paham dulu sebelum develop🥲🥲🙏
mau nanya dong bang, kalo mekanisme Logout bagaimana ya? apakah dibuatkan api juga di backend untuk hapus cookie dan refresh tokenya?
Iya, utk logout ada APInya utk menghapus cookie & refresh-token ✅
Seperti di menit 11:19
@@afifu ok makash banyak bg😁
Sering sering bikin konten seperti ini bang sangat informatif dan mudah dipahami
Thank you 😁🙏
Thx bg ilmu yg sangat bermanfaat
Thank you 😁🙏
Gile, cara penjelasanya mantep poll...
makasih bang, penjelasannya mudah di pahami
Mantap Langsung Ngerti
terimakasih mas videonya bagus tapi kali ini menurut saya agak kurang lengkap materinya seperti bagian terpenting dalam jwt yaitu expired at dan issued at dalam payload dan fungsi nya masing2 dalam berbagai strategi auth nya
Hehee mungkin nanti bisa lanjut di part 2.
Thanks buat feedbacknya 😁👍
agak kurang dikit bang, kayak asbabul nuzul jwt, agak bingung konsep refresh token, jwt yg pakai reffesh token itu yg di payload tidak ada iat kah? atau hanya menpermudah auth server tidak perku login ulang hanya menunjukan toker refresh?
menarik saya user sebuah aplikasi yg menggunakan sso,, token bisa dipakai terus utk komunikasi ke server menu jika menggunakan fetch, post atau ajax, tidak di direct ke sso login, atau menolak req, kalau pakai halaman aslinya dia sudah gak feaktif dan ketika refresh du lenpar ke sso
sepertinya jwt itu ada karena kebutuhan stateless pada saat proses auth sehingga backend gak perlu query ke db terus untuk validasi token nya pada tiap request@@Danzz_0_0
masyaAllah keren
gw stuck gara2 ini makasi bang udah ada gambaran
Keren, sangat mudah dimengerti 🔥 thank you gan
You're welcome gan 😁🙏
mantap bang
Haturnuhun..
Mantap...
gokil bg 👌
Makasih bang
Ya, sama2 bang 😁🙏
Makasih bang , sangat bermanfaat
Thank you 😁🙏
mantap bang lanjutt
nice content bang 9 videonya keren keren semua
Thank you~ 🙏😁
@@afifu jangan thank you aja bang, tambah lagi dong kontennya wkwk
Makasih ya bang
mau nanya bg, untuk request access token baru pake refresh token apa harus dibuat API nya juga? atau di sisipin aja di middleware verifyToken pas tau kalo access tokenya gagal
contoh bang di web tampilan nya nya
Makasih bang🤙
Yoi, sama2 😁🙏
Mantap mas konseptualnya, mudah dipahami. Kalo utk implementasinya teknis nya punya rekomendasi sumber pembelajaran ga mas?
Kalo utk teknisnya saya gak ada rekomendasi spesifiknya dr mana.
Bisa googling, cari di UA-cam, atau tanya ke ChatGPT.
Kalo menurut saya, selama udah ngerti BE-FE, maka yg dibutuhkan sekedar cari librari utk create & validate JWT.
Jadi dg modal pengetahuan BE-FE & konsep JWT auth, bisa bikin API sendiri, setup db sendiri, dan tinggal pakai aja library JWTnya 😁
Buat video lagi dong bang.
Tapi bang bukannya JWT token itu fungsinya agar menperlancar proses kecepatan di server side ya kalau dilakukan penyimpanan token didatabase sesuai cara ke-2 bukannya sama aja gk pakai JWT tapi pakek session biasanya
@@alfiandm5782 Yups memang tetep perlu cek db, tp hanya auth service, dan cek db nya hanya dilakukan 10 menit sekali.
Di service lain itu gak perlu cek db, cukup cek JWT aja.
Tambahan: JWT itu solve problem yg saya jelaskan di 4:45 (ini terjadi di penggunaan session token)
Bang mau tanya. Untuk Access Token dan Refresh Token itu idealnya expired dalam kurun waktu berapa lama ya?
Access token expirednya brp lama?
Ini udah terjawab di menit 09:56 ya...
Refresh token expirednya brp lama?
Tergantung, kamu pengennya user gak pernah logout,
atau dlm waktu sebulan auto logout (artinya user harus login tiap bulan), atau dlm waktu seminggu auto logout, atau gimana?
Sesuaikan dengan kebutuhan
bagaimana jadinya kalau kita sign session id ke dalam jwt lalu jwt simpan ke cookie?
Maksudnya session-based authorization, tp sessionnya bentuknya JWT kah?
Balik lagi, issuenya session-based itu spt yg disampaikan di 4:44
Semoga terjawab 🙏
Bang saya punya pertanyaan untuk konsep refresh token. kan access token cuma aktif 10 menit dan expired. kalau saya request untuk me refresh access tokennya pada 10 menit lewat 30 detik, apakah akan di refresh kan? atau di tolak dan suruh login ulang?
Ketika me-refresh token, yg dicek adalah apakah refresh tokennya valid.
Bisa sekedar dicek validity-nya aja, atau dicek jg expiry time dari refresh-tokennya.
Gak masalah access-tokennya udah expired.
@@afifu baik bang,, jadi 10 menit expired dari access token itu sebenarnya hanya untuk validasi refresh tokennya saja ya.
terima kasih pencerahannya bang.
@@afifu bang , kalau tidak keberatan, bahas microservices dan konsep penyebaran JWT agar seluruh aplikasi pada microservices punya JWT terbaru.. terima kasih
om , akses token ada expired misal 3 menit, Ketika expired berarti generate token baru dong, jadi setiap respon, di siapkan untuk token baru nya ya?
Q: Ketika expired berarti generate token baru dong?
A: Iya
Q: Jadi setiap response disiapkan token barunya ya?
^Ini maksud pertanyaannya gimana?
@@afifu aplikasi saya (mobile), jika user tidak mengakses aplikasi lebih dari 3 menit maka akan ke keluar.
logic saya begini,
ketika expired di jwt berubah, maka token berubah kan ya?
misal, setiap request, saya tambah expired 3 menit, maka token berubah(baru) dengan expired + 3 menit
jadi, di setiap request, bakal ada respon token baru nya.
Best pratictice nya gimana ya mas?
@@muhammadalfit5149 pengecekan user logged-in dr refresh-token
Bang Afif, mau tanya kalau jwt nya bisa dipakai user lain selama belum expired apakah bisa ya. terima kasih banyak.
Bisa,
seperti yg di penjelasan 10:48
Di situ orang lain pakai token seseorang
@@afifu makasih bang afif
Izin nanya bang, untuk nyimpen refresh token di db nya, apakah 1 user hanya memiliki 1 refresh token, atau bisa banyak?
Tergantung kebutuhan: apakah user bisa login di beberapa device?
Jika iya, maka di 1 user tsb bisa punya lebih dr 1 refresh-token
Bang kalo semisal token yg dikasih oleh response login untuk set header, kita simpan di cookie gimana, saolnya kalo dilocalStorage gak bisa di akses oleh SSR ya khusunya nextjs betulkah begitu?
Iya localStorage gak bisa diakses di server ketika pake strategi SSR ✅
Iya, bisa pake cara tsb, taro di cookie biar tokennya auto dikirim ke server gan
saya nemu aplikasi menggunakan double, cookies dan local storage, dan kirim authorizastion utk cookies, yg di local storage fi header X-CSRFTOKEN. berhub itu aplikasi input data ribuan saya terpaksa input by script krn halaman input saja belum tentu load sempurna krn aksesnya lagi tinggi dan wajib dan lagi periode penginputan. aplikasi pakai vue js, utk handle post and update info page
apakah bisa data cookie, localstorage atau session storage di curi pada suatu website A, ketika kita mengunjungi website B, misal menggunakan javascript ?
Gak bisa..
Website B gak punya akses utk melihat/mengedit/menghapus/menambah data cookie/localStorage/sessionStorage dr website A.
@@afifu klo subdomain gmn ? misal kita kunjungin web parent domain, trs kita kunjungi jg subdomain, apakah yg di parent domain bisa d curi ?
@@labkita gak bisa jg,
web vercel.com gak punya hak akses ke storage dr abc.vercel.com
@@afifuklo begitu pencurian data cookie lebih ke keperluan untuk ads aja ya kebanyakan, selain kesalahan penyimpanan data yg seharusnya di server
@@labkita penurian data cookie itu pakenya XSS attack, dan tujuannya buah nge-hack.
Kalo ads, itu bukan mencuri, dan itu ada mekanismenya sendiri (bukan XSS)
jadi pengecekan username dan password di database itu pake pengecekan biasa aj yh? kalo benar nnt di return jwt token gitu?,apa berlaku ke semua bahasa
Proses authentikasinya gimana itu memang gak saya bahas di video ini mas, 03:09
Berarti proses meminta ulang access token itu dilakukan secara otomatis ketika access token kadaluarsa ya bang dan kita juga perlu buat endpoint khusus buat refresh tokenya begitu ?
Proses meminta akses token baru ini bisa ada 2 kemungkinan:
* Bisa saat expired langsung request yg baru.
* Bisa jg nunggu user mau melakukan request ke resource lain.
Terserah sih mau yg mana..
Iya betul, perlu endpoint utk nge-request akses token baru.
@@afifu Ok bang terimakasih infonya
secret keynya password nascar rumble
Makasih bang
Yoi, sama2 bang 😁🙏