Tidak bisa create article setelah login untuk kedua kali

Saya sedang belajar di kelas membuat REST API dengan GIN/GO, nah setelah saya mengikuti pembelajaran hingga membuat artikel dengan autentikasi token dan middleware, saya menemukan bug.

Disini saya buat case ketika user1 melakukan login dgn cara menembak url (http://localhost:8080/api/v1/auth/google) lalu dia membuat artikel, hasilnya artikel yang user1 buat berhasil masuk database. Lalu saya coba dgn user2 dgn autentikasi dari github (http://localhost:8080/api/v1/auth/github) lalu dia membuat artikel, hasilnya artikel yang user2 buat juga berhasil masuk database.

Nah permasalahannya disini.. Ketika user1 menembakkan lagi url (http://localhost:8080/api/v1/auth/google) untuk mendapatkan token agar bisa melakukan post artikel lagi, lalu setelah user1 mendapatkan token nya dan user1 melakukan post artikel lagi, hasilnya artikel yang user1 barusan buat dgn token yg baru didapat, tidak masuk database, padahal status code nya 200 dan menampilkan pesan error yang akan saya lampirkan.

[EDIT] Disini saya lgoin nya berkali-kali dan menumpuk. Belum ada logout.Dan juga, ketika user1 token nya sudah habis masa waktu nya yang sudah ditetapkan(misalkan 1 hari), nah terus kita tembakkan lagi url (http://localhost:8080/api/v1/auth/google) dan kita dapatkan token terbaru.. tapi token terbaru tadi juga tidak bisa digunakan.. misalkan saya mau coba url ../api/v1/profile untuk lihat profile user1 makan akan tampil hasil seperti ini dan error yang disampaikan seperti ini: hasil :

error:

Kira-kira kesalahan saya dimana yaaa? Atau jangan2, token yang di dapat berlaku selama batas waktu yg ditentukan oleh kita? Jadi semisal kita set token kita batas nya 1 hari, ya kalau login lagi, token yang dihitung tetap token yang pertama? Atau juga apa karena belum logout? Sebenarnya saya masih dalam tahap kelas yang video "mencega slug yang kembar" jadi saya belum tau apakah ada code buat logout nya nanti yang akan dijelaskan.

Terimakasih hehe..

avatar harrykurr
@harrykurr

1 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

Tanggapan

cek "aturan main" gan cara upload gambar, biar baca dan lihat maksudnya bisa jelas

ceritakan juga di atas, kamu login apakah logout dulu, atau menumpuk2 login tanpa logout (yang detail)

iya mas hilman, belum logout.. dan gambar sudah saya sertakan bbcode nya hehe maaf..

pakai tag gambar mas, jangan bbcode, cek aturan main cara pasang gambar, biar yang mau bantu enak bacanya

Setelah saya baca-baca, saya menemukan artikel ini ( https://medium.com/devgorilla/how-to-log-out-when-using-jwt-a8c7823e8a6 ). Dan disini dikatakan bahwa tidak ada kill session jwt? Jadi yang dimainkan adalah exp dari token nya? Hmmmm

1 Jawaban:

Jawaban Terpilih

Halo Harrykur saya sudah mencoba reproduce masalah yang dimaksud dengan cara: user google 1 login -> ngepost [berhasil] user github 1 login -> ngepost [berhasil] user google 2 login (user sama, cuma beda token) -> ngepost [berhasil]

jadi sepertinya ada masalah yang lain, bukan bug yang dimaksud

di foto errornya ada "duplicate entry" kemungkinan ada entry yang sama, saya kurang tahu itu field apa yang tidak boleh kembar yang ada kata "UIX.."

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 4 tahun yang lalu

Tanggapan

Hmmm mungkin saya harus liat dan ulangi video nya sambil coding ulang..

Login untuk ikut Jawaban