สร้าง OAuth2


OAuth 2.0 เป็นโปรโตคอลสำหรับการให้สิทธิ์ (Authorization) ที่ช่วยให้แอปพลิเคชันสามารถเข้าถึงทรัพยากรของผู้ใช้ได้อย่างปลอดภัยโดยไม่ต้องแชร์รหัสผ่าน ขั้นตอนหลักๆ มีดังนี้:

1. เลือก Flow ที่เหมาะสม

OAuth 2.0 มีหลาย Grant Type ขึ้นอยู่กับกรณีการใช้งาน เช่น:

- Authorization Code (ใช้สำหรับเว็บแอป/แอปที่มี backend)
- Implicit Flow (ใช้สำหรับ Single Page Apps แต่ไม่แนะนำในปัจจุบัน)
- Client Credentials (ใช้สำหรับระบบที่ไม่มีผู้ใช้ เช่น Machine-to-Machine)
- Resource Owner Password Credentials (ใช้เมื่อลูกค้าเชื่อถือระบบ เช่นแอปองค์กร)

2. ลงทะเบียน Client กับ OAuth Provider

ต้องลงทะเบียนแอปของคุณกับ OAuth Provider เช่น Google, Facebook, GitHub ฯลฯ เพื่อรับ:

- client_id (ระบุแอปของคุณ)
- client_secret (ใช้สำหรับยืนยันตัวตนของแอป)
- redirect_uri (URL ที่ผู้ใช้จะถูกส่งกลับมาหลังจากยืนยันตัวตน)

3. ขอ Authorization จากผู้ใช้

Redirect ผู้ใช้ไปที่ URL ของ OAuth Provider พร้อมพารามิเตอร์เช่น:


สรุป

1. ผู้ใช้ล็อกอินผ่าน OAuth Provider
2. รับ Authorization Code
3. แลกเปลี่ยน Code เป็น Access Token
4. ใช้ Access Token เพื่อเรียก API
5. ใช้ Refresh Token เพื่อขอ Access Token ใหม่ (ถ้ามี)