Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่าง OpenID และ OAuth

OpenID vs OAuth

OAuth (Authorization)

  • ออกแบบสำหรับ Authorization (การอนุมัติ)
  • ให้ third-party เข้าถึงทรัพยากรโดยไม่ต้องให้ password
  • ใช้ Access Token ผ่าน API
  • HTTP-based
  • ไม่ initiate user session

OpenID (Authentication)

  • ออกแบบสำหรับ Authentication (การยืนยันตัวตน)
  • Third-party authenticate ผู้ใช้แทน (Single Sign-On)
  • ใช้ account ที่มีอยู่แล้ว (Google, Facebook, etc.)
  • Initiate user session

ตารางเปรียบเทียบ

KeyOAuthOpenID
วัตถุประสงค์Authorization (อนุมัติการเข้าถึง)Authentication (ยืนยันตัวตน)
Sessionไม่ initiate sessionInitiate user session
MechanismAccess TokenThird-party authentication

สรุป

  • OAuth = "อนุญาตให้ app นี้เข้าถึงข้อมูลของฉันได้" (Authorization)
  • OpenID = "ยืนยันว่า ฉันคือใคร" (Authentication)
  • ปัจจุบันมักใช้ร่วมกัน: OpenID Connect = OAuth 2.0 + Identity layer