ป้ายกำกับ: Grant

OAuth: อนุญาตสิทธิ์ ( Authorization )OAuth: อนุญาตสิทธิ์ ( Authorization )

OAuth 2.0 คือมาตรฐานอุตสาหกรรมสำหรับการอนุญาตสิทธิ์ ( Authorization ) ที่ช่วยให้แอปพลิเคชันบุคคลที่สาม ( Third-party ) เข้าถึงข้อมูลของผู้ใช้บนบริการอื่น ( เช่น Google, Facebook ) ได้อย่างปลอดภัยโดยไม่ต้องรู้รหัสผ่าน โดยใช้ “Access Token” จำกัดขอบเขตสิทธิ์ ปลอดภัยกว่า และนิยมใช้สำหรับเว็บ, โมบายแอป, และ API


สรุปประเด็นสำคัญของ OAuth 2.0

  • หลักการทำงาน: แทนที่จะให้รหัสผ่าน แอปพลิเคชันจะเปลี่ยนเส้นทางผู้ใช้ไปที่ผู้ให้บริการ (Authorization Server) เพื่อขอความยินยอม เมื่อยินยอมแล้ว แอปจะได้รับ Access Token แทน
  • ประโยชน์
    • ความปลอดภัยสูง: รหัสผ่านจริงไม่ถูกเปิดเผยหรือจัดเก็บในแอปที่สาม
    • จำกัดสิทธิ์ ( Scopes ): ผู้ใช้สามารถเลือกว่าจะอนุญาตให้เข้าถึงข้อมูลอะไรได้บ้าง
    • เพิกถอนได้: ผู้ใช้สามารถยกเลิกสิทธิ์การเข้าถึงของแอปนั้นๆ ได้ตลอดเวลา
  • องค์ประกอบหลัก:
    • Resource Owner: ผู้ใช้เจ้าของข้อมูล
    • Client: แอปพลิเคชันที่ต้องการเข้าถึงข้อมูล
    • Authorization Server: เซิร์ฟเวอร์ที่ตรวจสอบสิทธิ์และออกโทเค็น ( เช่น Google OAuth )
    • Resource Server: เซิร์ฟเวอร์ที่เก็บข้อมูลของผู้ใช้
  • Grant Types ( รูปแบบการให้สิทธิ์ ): OAuth 2.0 รองรับหลายรูปแบบ เช่น Authorization Code ( มาตรฐาน ), Implicit, Client Credentials, และ Refresh Token
  • OAuth 2.1: กำลังพัฒนาเพื่อรวม OAuth 2.0 เข้ากับส่วนขยายต่าง ๆ เช่น PKCE ให้เป็นมาตรฐานเดียวกันที่ปลอดภัยยิ่งขึ้น