TDD
optimistic-gold
[Javascript] เจอปัญหาในการฝึกเขียน express.js ครับ
ผมกำลังฝึกเขียน การล็อกอินครับ เจอปัญหาก็คือเมื่อผู้ใช้งานล็อกอินสำเร็จ(username,password ถูกต้อง) ปัญหาคือ console.log(req.isAuthenticate()) ใน เราท์ "/login" แสดงค่าเป็น true แต่ ใน route "/checklogin" แสดงค่า false ครับ

21 Replies
optimistic-goldOP•10mo ago
อันนี้เป็นโค้ดที่ใช้run serverนะครับไฟล์ server.js
optimistic-goldOP•10mo ago
optimistic-goldOP•10mo ago
ปัญหาคือเมื่อผู้ใช้งาน login ผ่าน (username,password)ถูกต้อง console.log(req.isAuthenticated()) ใน เราท์ "/login" แสดงค่าเป็น true แต่ในเราท์ "/checklogin" แสดงค่าเป็น false อยากทราบเพราะอะไรครับ
ในความเข้าใจของผมก็คือเมื่อ เราท์ "/login" ทำงานได้ถูกต้องไม่มี error แสดงว่า ผู้ใช้งานนั้นๆ loginเข้าสู่ระบบได้แล้ว เมื่อ เช็คด้วย req.isAuthenticated() มันควรจะมีค่าเป็น true ไหมครับ เพราะตัว cookie connect.sid ก็ถูกสร้างขึ้นหลังจากผ่านการ login แล้วครับ
สอบถามหน่อยครับ ตอนรันมีอะไรเกิดขึ้รไหมครับ แบบ error ต่างๆ ลองส่งมาได้ไหมครับ เผื่อจะหาต้นตอได้ครับ
optimistic-gold•10mo ago
น่าจะต้องใส่ passport.authenticate('local') ที่ /checklogin ครับ
optimistic-goldOP•10mo ago
พอใส่แล้วลอง fetch ดู บราวเซอร์มันตอบกลับมา Bad request ครับ
fascinating-indigo•10mo ago
ลอง gpt รึยังคับ
optimistic-goldOP•10mo ago
ไม่มี error ครับ แต่คิดว่าสาเหตุน่าจะเป็นเพราะ มี 2 serverครับ คือหน้าบ้าน port 3000 หลังบ้าน port 5000 ทีนี้ผมเก็บ session เป็นแบบคุกกี้ครับ session มันเลยไม่เห็นกัน ประมาณว่า เรา login ที่ port 5000
แต่เราเรียกใช้ข้อมูลที่ browser รันที่ port 3000
session ที่อยู่ใน server เลยไม่เห็นกันครับ
ลองแล้วครับ ถามรอบแรกๆเหมือนจะดีครับแต่พอถามไปถามมาแก้ไปแก้มาดันออกทะเลซะงั้นครับ
fascinating-indigo•10mo ago
ขอดูโค้ด login fontent
end
fetch หรือ axios
optimistic-goldOP•10mo ago
ใช้ fetch ครับ หน้าบ้านเป็น html+tailwindcss+javascript ครับ
fascinating-indigo•10mo ago
เพิ่มพวกนี้เข้า
ตรง fetch login, check session
fascinating-indigo•10mo ago
ละเอาไฟล์พวกนี้ลองดู
ai มา
ได้บ่คับ @pangpondKub
optimistic-goldOP•10mo ago
ผมลบโค้ดเดิมไปแล้วครับ สาเหตุน่าจะมาจาหในส่วนนี้ครับ
กะว่าจะโล๊ะเขียนใหม่เลยครับ
fascinating-indigo•10mo ago
ม่าเกี่ยวนะ
ผมเขียน React api ต่างๆ fastapi python
รันแยก 2 port เทสบนเครื่องได้ปกติ
ผมไม่แน่ใจเหมือนกันเพราะไม่ได้สายนี้โดยตรง
ยังไงลองดูละปรึกษากันก่อได้คับ
optimistic-goldOP•10mo ago
ได้ครับ คิดว่าไอที่ผมกำลังจะเขียนใหม่เดี๋ยวมีErrorมาแชร์ให้ช่วยแน่นอนครับ555 ขอบคุณทุกๆท่านมากเลยครับ
fascinating-indigo•10mo ago
คับบ
ตอนนี้สามารถแก้ได้รึยังครับผม
optimistic-goldOP•10mo ago
ไม่เชิงว่าแก้ได้ครับ แต่เปลี่ยนไปใช้ jwt แทน cookie ครับ ขอบคุณมากๆครับ
โอเคครับผม ขออนุญาตปิดโพสต์นะครับ
fair-rose•10mo ago
🔒 โพสต์ถูกล็อคแล้ว
โพสต์นี้ถูกตั้งสถานะว่า
แก้ไขเรียบร้อยแล้ว
หากมีคำถามเพิ่มเติม กรุณาทำการโพสต์ใหม่ได้ที่หมวดหมู่ <#1236768988663644261>