PHP laravel

สร้าง OAuth2

by admin on | 2025-03-10 13:41:29 Last Updated by admin on2025-03-20 16:07:53

Share: Facebook | Twitter | Whatsapp | Linkedin Visits: 31


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 ใหม่ (ถ้ามี)