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 ให้เป็นมาตรฐานเดียวกันที่ปลอดภัยยิ่งขึ้น
