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