Session vs Token Authentication คืออะไร ต่างกันยังไง

   By: DH Team

   อัปเดตล่าสุด March 1, 2024

Session vs Token Authentication คืออะไร ต่างกันยังไง


Sesion Authentication

  • เก็บ session data ในฝั่ง server เมื่อผู้ใช้ login สำเร็จ
  • จากนั้น server ส่ง response กลับมา พร้อมทั้งเก็บ session ID ไว้ที่ cookie บนเว็บเบราว์เซอร์
  • เมื่อมีการ request ไปที่ server ตัว session ID จะถูกแนบไปด้วยทุกครั้ง
  • จากนั้นฝั่ง server ก็จะเปรียบเทียบว่าตรงกันหรือไม่ จากนั้นก็ให้เข้าถึงหน้าที่ต้องได้
    ปลอดภัยน้อยกว่า Token Authentication
  • มักใช้กับ Server Side Rendering (SSR) เช่น Django, Laravel เป็นต้น

Token Authentication

  • User ล็อกอินด้วย credentials เช่น username & password
  • ฝั่ง server สร้าง JWT (JSON Web Token) ขึ้นมา แล้วส่งกลับไปที่ client
  • ฝั่ง client เก็บ JWT ไว้บน Local Storage
  • ฝั่ง client แนบ JWT เข้าไปกับ HTTP headers ทุกครั้ง เมื่อมีการ request ข้อมูลมาที่ฝั่ง server
  • มักใช้สำหรับ RESTful APIs
  • สเกลได้ดีกว่า Session Authentication เพราะเก็บ Token ไว้บน Local Stoarge 


บทความแนะนำอ่านเพิ่มเติม: Authentication คืออะไร


เปิดโลกการเขียนโปรแกรมและ Software Development ด้วย online courses ที่จะพาคุณอัพสกิลและพัฒนาสู่การเป็นมืออาชีพ เรียนออนไลน์ เรียนจากที่ไหนก็ได้ พร้อมซัพพอร์ตหลังเรียน

คอร์สเรียนเขียนโปรแกรม