การอนุญาตแบบเปิด (OAuth)

การอนุญาตแบบเปิด (OAuth)

OAuth เป็นมาตรฐานเปิดสำหรับการมอบหมายการเข้าถึง โดยทั่วไปใช้เพื่อให้เว็บไซต์หรือแอปพลิเคชันเข้าถึงข้อมูลบนเว็บไซต์อื่น แต่จะไม่บอกรหัสผ่านให้กับเว็บไซต์เหล่านั้น

สิ่งนี้ทำได้โดยผ่านกระบวนการที่ผู้ใช้ให้สิทธิ์บุคคลที่สามในการเข้าถึงข้อมูลประเภทเฉพาะที่จัดเก็บอยู่ในบริการอื่น โดยปกติโดยการอนุญาตผ่านกลไกที่ใช้โทเค็น

OAuth ถูกใช้กันอย่างแพร่หลายในแอปพลิเคชันต่างๆ เพื่อเพิ่มประสิทธิภาพ ตรวจสอบผู้ใช้ และกระบวนการอนุญาต ตัวอย่างเช่น เมื่อผู้ใช้เข้าสู่ระบบเว็บไซต์โดยใช้บัญชี Google หรือ Facebook ระบบ OAuth จะเข้ามามีบทบาท ซึ่งช่วยให้ผู้ใช้สามารถแชร์ข้อมูลเฉพาะกับเว็บไซต์หรือแอปพลิเคชันของบุคคลที่สามได้โดยไม่ต้องเปิดเผยรายละเอียดบัญชีทั้งหมด ซึ่งเป็นประโยชน์อย่างยิ่งสำหรับบริการที่ต้องการเข้าถึงข้อมูลผู้ใช้บางอย่างจากบริการอื่น เช่น การเข้าถึงรายชื่อติดต่อหรือปฏิทินจากแอปโซเชียลมีเดีย นอกจากนี้ OAuth ยังใช้ในการพัฒนาแอปพลิเคชันมือถือ บริการคลาวด์ และอุปกรณ์ IoT ที่จำเป็นต้องเข้าถึงทรัพยากรที่โฮสต์โดยบุคคลที่สามอย่างปลอดภัย ระบบ OAuth ช่วยลดความยุ่งยากของกระบวนการเข้าสู่ระบบสำหรับผู้ใช้และเพิ่มความปลอดภัยโดยลดการแพร่กระจายของรายละเอียดการเข้าสู่ระบบที่ใช้รหัสผ่าน

ส่วนความสัมพันธ์กับ SAML (ภาษาการมาร์กอัปการยืนยันความปลอดภัย) และ เปิด ID:OAuth, SAML และ OpenID ล้วนเป็นมาตรฐานสำหรับการตรวจสอบสิทธิ์และการอนุญาต แต่มีจุดประสงค์ที่แตกต่างกัน

SAML ถูกใช้เป็นหลักสำหรับบริการการลงชื่อเข้าใช้ครั้งเดียว (SSO) เพื่อให้ผู้ใช้สามารถเข้าสู่ระบบเพียงครั้งเดียวและเข้าถึงหลายระบบได้โดยไม่ต้องยืนยันตัวตนซ้ำ นิยมใช้กันอย่างแพร่หลายในสภาพแวดล้อมองค์กรที่แอปพลิเคชันภายในหลายรายการจำเป็นต้องมีการควบคุมการเข้าถึงที่ปลอดภัย

ในทางกลับกัน OpenID เป็นเลเยอร์การตรวจสอบสิทธิ์ที่อยู่เหนือ OAuth โดยให้ผู้ใช้ การยืนยันตัวตนในขณะที่ OAuth มุ่งเน้นที่การให้สิทธิ์การเข้าถึงทรัพยากรโดยไม่ต้องแชร์ข้อมูลประจำตัวของผู้ใช้ OpenID อนุญาตให้มีการตรวจสอบสิทธิ์ของผู้ใช้และให้ข้อมูลโปรไฟล์พื้นฐานแก่ผู้ให้บริการ

OpenID Connect ซึ่งเป็นส่วนขยายของ OAuth ผสมผสานส่วนที่ดีที่สุดของทั้ง OAuth และ OpenID เข้าด้วยกัน ช่วยให้สามารถอนุญาต API ที่ปลอดภัย รวมถึงการตรวจสอบสิทธิ์ผู้ใช้