PacharaBlog
หน้าแรกเข้าสู่ระบบ Admin

© 2026 PacharaBlog

ทำ Authentication ด้วย NextAuth.js v4
20 มิถุนายน 2569
เข้าชม 59 ครั้ง

ทำ Authentication ด้วย NextAuth.js v4

NextAuth.js v4 กับ Credentials Provider เหมาะสำหรับระบบที่ต้องการ login ด้วย username และ password โดยไม่ต้องพึ่ง OAuth provider ภายนอก เหมาะมากสำหรับระบบ admin ที่มี user เดียว ขั้นตอนแรกคือติดตั้ง next-auth แล้วสร้างไฟล์ app/api/auth/[...nextauth]/route.ts ซึ่งเป็น catch-all route ที่ NextAuth ใช้จัดการทุก request ที่เกี่ยวกับ authentication การตั้งค่า JWT session strategy ทำให้ไม่ต้องเก็บ session ใน database แต่เข้ารหัสข้อมูลไว้ใน cookie แทน ทำให้ scale ได้ง่ายกว่า แต่ต้องระวังว่า JWT จะ invalidate ได้ยากกว่า database session การป้องกัน route ด้วย middleware เป็นวิธีที่สะอาดที่สุด โดยสร้างไฟล์ middleware.ts ที่ root ของ project แล้วใช้ withAuth จาก next-auth/middleware ซึ่งจะ redirect ไปหน้า login อัตโนมัติถ้ายังไม่ได้ login สิ่งสำคัญที่สุดคือ NEXTAUTH_SECRET ต้องเป็น random string ที่ยาวและคาดเดาไม่ได้ สามารถ generate ได้ด้วยคำสั่ง openssl rand -base64 32 และต้องไม่ commit ลง git repository เด็ดขาด

รูปภาพประกอบ

ความคิดเห็น (3)

พิมพ์ใจ ดวงดี
20 มิ.ย. 2569 20:54

ทำตามแล้วใช้งานได้เลยค่ะ ขอบคุณมากนะคะ

ชาญชัย เชี่ยวชาญ
20 มิ.ย. 2569 20:54

อยากให้มีตัวอย่าง refresh token ด้วยครับ

วรรณา สุขใจ
20 มิ.ย. 2569 20:54

บทความนี้ช่วยได้มากค่ะ เข้าใจเรื่อง JWT ชัดขึ้นมากเลย

แสดงความคิดเห็น

รองรับภาษาไทยและตัวเลขเท่านั้น

Comment จะแสดงหลังได้รับการอนุมัติจากผู้ดูแล