sso

เหตุเกิดจากพึ่งคุยกับรุ่นพี่เรื่อง Single Sign On ก็เลยอยากจะมาทำความเข้าใจว่า SSO มีหลักการอะไรยัง จากความเข้าใจคร่าวๆ คือการลงชื่อเข้าใช้งานเพียงแค่ Username และ Password ชุดเดียว แต่สามารถเข้าใช้งานได้หลายระบบ ในการที่จะทำ SSO น่าจะประมาณนี้

  • แยกระบบ Authentication ออกเป็นอีกระบบหนึ่ง
  • ใช้ Token เป็นสิ่งยืนยันและให้สิทธิ์ในการเข้าใช้งานของผู้ใช้งาน
  • จัดเก็บ Token ในรูปแบบของ Cookie เพื่อให้สามารถจัดการเวลาหมดอายุได้
  • หาก Token หมดอายุให้ทำการ Redirect ไปยังระบบ Authentication เพื่อทำการเข้าสู่ระบบใหม่

ดูแล้วก็ยังงงอยู่ เดี่ยวลองยกตัวอย่างเช่น facebook login จะอนุญาตให้เว็บไซต์ภายนอกเข้างานระบบยืนยันผู้ใช้งานของระบบ facebook ได้เพื่อให้เว็บไซต์ต่างๆ ไม่จำเป็นที่จะต้องพัฒนาระบบเอง นอกจากของ facebook แล้วก็ยังของ google และอื่นๆ ที่รองรับการทำระบบ Single Sing On ครับ