GitHub Apps กับ OAuth Apps: เลือกการเชื่อมต่อ GitHub ที่เหมาะสม
เปรียบเทียบ GitHub Apps กับ OAuth Apps สำหรับการเชื่อมต่อ Logto ศึกษาความแตกต่างหลักด้านความปลอดภัย, การอนุญาต, การจัดการโทเคน และเลือกวิธีการยืนยันตัวตนผ่าน GitHub ที่เหมาะกับแอปของคุณ
เมื่อรวมการยืนยันตัวตนผ่าน GitHub เข้ากับแอป Logto ของคุณ คุณมีสองทางเลือก: GitHub Apps และ GitHub OAuth Apps แม้ทั้งสองจะเปิดใช้งานฟังก์ชัน “ลงชื่อเข้าใช้ด้วย GitHub” ได้ แต่ก็มีประสบการณ์ที่แตกต่างกันอย่างชัดเจนในด้านความปลอดภัย การจัดการโทเคน และการเข้าถึง API คู่มือนี้จะช่วยให้คุณเห็นถึงความแตกต่างหลักและเลือกแนวทางที่เหมาะกับกรณีใช้งานของคุณ
พื้นหลัง: สองเส้นทางสำหรับการเชื่อมต่อ GitHub
คู่มือปัจจุบันของ Logto จะแนะนำขั้นตอนการตั้งค่า GitHub OAuth App สำหรับการล็อกอินโซเชียล ซึ่งเป็นทางเลือกที่ง่ายและตรงไปตรงมาสำหรับความต้องการยืนยันตัวตนขั้นพื้นฐาน อย่างไรก็ตาม GitHub Apps คือแนวทางสมัยใหม่ที่ GitHub แนะนำ ด้วยการเน้นความปลอดภัยและการควบคุมแบบละเอียด
ลองนึกภาพแบบนี้: OAuth Apps ก็เหมือนกับการให้กุญแจบ้านหลักกับใครสักคน—จะได้รับสิทธิ์เข้าถึงกว้างทันทีหลังอนุญาต ส่วน GitHub Apps เปรียบเสมือนระบบล็อกอัจฉริยะที่มีรหัสเฉพาะสำหรับแต่ละห้อง—ผู้ใช้สามารถอนุญาตแบบเจาะจงเฉพาะฟีเจอร์ที่แอปต้องการ
ความแตกต่างหลักแบบสรุปเร็ว
การอนุญาต: กว้างเทียบกับละเอียด
- OAuth Apps ใช้ขอบเขตการอนุญาตแบบกว้าง—ร้องขอ
repoจะได้สิทธิ์ควบคุม repo ทั้งหมด - GitHub Apps ใช้การอนุญาตแบบละเอียด—คุณเลือกได้แค่ “Issues: Read” โดยไม่แตะโค้ด ผู้ใช้ยังสามารถเลือก repo ที่จะอนุญาตในแต่ละครั้ง ไม่ต้องให้อำนาจแบบเหมาเข่ง
ความปลอดภัยของโทเคน: ถาวรเทียบกับหมดอายุ
- OAuth Apps ออกโทเคนที่ไม่มีวันหมดอายุ (จนกว่าจะถูกเพิกถอนด้วยมือ) และไม่มีระบบรีเฟรช
- GitHub Apps ใช้โทเคนแบบมีอายุสั้น (หมดอายุใน 1 ชั่วโมง) และรองรับการรีเฟรชอัตโนมัติ—ปลอดภัยกว่าสำหรับแอปที่ทำงานยาวนาน
ตัวตน: ผู้ใช้เ ทียบกับบอท
- OAuth Apps จะดำเนินการแทนผู้ใช้ที่ให้สิทธิ์เสมอ (เช่น
@octocat) และใช้ quota rate limit เดียวกัน (5,000 คำขอต่อชั่วโมง) - GitHub Apps สามารถกระทำเองด้วยตัวตนบอท (เช่น
@my-app[bot]) และมี rate limit ที่ขยายขึ้นตามการใช้งาน—เหมาะกับงานระบบอัตโนมัติ
การควบคุมการเข้าถึง: ทั้งหมดหรือบางส่วน
- OAuth Apps ต้องได้รับอนุญาตครั้งเดียวจนครบทุก resource
- GitHub Apps ให้ผู้ใช้เลือก repo ระหว่างติดตั้ง พร้อมรับการแจ้งเตือนเปลี่ยนสิทธิ์แบบ webhook—โปร่งใสและควบคุมได้ดีกว่า

