OAuth 2.0 101

ผู้เขียน: Judy Howell
วันที่สร้าง: 26 กรกฎาคม 2021
วันที่อัปเดต: 23 มิถุนายน 2024
Anonim
OAuth 2.0: An Overview
วิดีโอ: OAuth 2.0: An Overview

เนื้อหา


Takeaway:

OAuth 2.0 ได้รับการออกแบบเพื่อปรับปรุงตามเวอร์ชันดั้งเดิมของโปรโตคอล ตามที่นักวิจารณ์มันประสบความสำเร็จในบางพื้นที่และล้มเหลวในคนอื่น ๆ

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

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

หากคุณใช้อินเทอร์เน็ตเป็นประจำคุณมีโอกาสที่จะพบเว็บไซต์ที่ใช้ OAuth ท้ายที่สุดเว็บไซต์ที่ใหญ่ที่สุดในโลกเช่น Google, MySpace, Photobcuket, Yahoo, Evernote และ Vimeo ใช้มาตรฐานการรับรองความถูกต้องนี้ อ่านต่อเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับมาตรฐานนี้และสาเหตุที่รุ่นต่อไปของ OAuth 2.0 ยังคงถูกใช้งานบนพื้นฐานการทดลองที่ค่อนข้าง

OAuth 2.0 คืออะไร

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

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

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

ในขณะที่ยังคงรักษาสถาปัตยกรรมของเวอร์ชันแรกไว้โดยทั่วไป 2.0 จะได้รับการปรับปรุงเมื่อ:
  • รับรองความถูกต้องและลายเซ็น OAuth 2.0 ทำให้บางคนในฝั่งไคลเอ็นต์สามารถใช้โปรโตคอลได้ง่ายขึ้น
  • ประสบการณ์ของผู้ใช้และวิธีอื่นในการออกโทเค็น
  • ประสิทธิภาพโดยเฉพาะเว็บไซต์และบริการที่มีขนาดใหญ่ขึ้น
คำอธิบายที่ครอบคลุมมากขึ้นเกี่ยวกับสิ่งใหม่ ๆ ของ OAuth 2.0 จัดทำโดย Eran Hammer ซึ่งเคยเป็นส่วนหนึ่งของคณะทำงาน OAuth คุณสามารถเข้าถึงได้ที่นี่ อย่างไรก็ตามโปรดทราบว่า Hammer ออกจากคณะทำงานในเดือนกรกฎาคมปี 2012 โดยอ้างถึงปัญหาด้านความปลอดภัยเมื่อใช้มาตรฐาน เป็นผลให้ถึงแม้ว่า OAuth ควรจะได้ข้อสรุปภายในสิ้นปี 2010 แต่ก็ยังคงเป็นมาตรฐานที่เสนอ (ณ เวลาที่เขียน) แม้ว่าจะเป็นส่วนหนึ่งของกราฟ API Google และ Microsoft กำลังทดลองใช้การสนับสนุน OAuth 2.0 ใน API ของตน

ประโยชน์ของการใช้ OAuth 2.0

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

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

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

คุณสามารถ จำกัด ทรัพยากรที่เข้าถึงได้ผ่าน OAuth ของคุณ ตัวอย่างเช่นเมื่อเล่นเกมคุณสามารถระบุได้ว่าคุณต้องการให้เกมโพสต์บนวอลล์ในนามของคุณหรือไม่

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

OAuth 2.0 มาเป็นอย่างไร

เป็นที่ชัดเจนว่า OAuth คือการตอบสนองต่อการโทรเพื่อการคำนวณที่ปลอดภัยและใช้งานง่ายสำหรับบริการเว็บต่างๆ ในทางกลับกัน OAuth 2.0 เกิดขึ้นจากความต้องการที่จะทำให้ OAuth ซับซ้อนน้อยลง แต่ความคิดทั้งหมดสำหรับทั้งสองมาจาก OpenID

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

OAuth 2.0 มาถึงที่เกิดเหตุในปี 2010 โดยมีจุดประสงค์เพื่อมุ่งเน้นความเรียบง่ายของนักพัฒนาลูกค้าและสามารถปรับขนาดได้ง่ายขึ้นในขณะที่ยังปรับปรุงประสบการณ์ผู้ใช้

ท้าทายไปข้างหน้า?

แม้ว่า Google, Klout และชื่อใหญ่อื่น ๆ กำลังใช้งาน OAuth 2.0 แต่อาจมีถนนหินข้างหน้าโปรโตคอลนี้ มีการวิพากษ์วิจารณ์จากภายในชุมชน OAuth 2.0 รวมถึงความกังวลเกี่ยวกับความปลอดภัยของโปรโตคอล (หลายคนเชื่อว่ามันปลอดภัยน้อยกว่า OAuth 1.0)

ตามที่ Hammer ระบุไว้หากใช้งานโดยโปรแกรมเมอร์ที่มีความเชี่ยวชาญและมีความเชี่ยวชาญด้านความปลอดภัยของเว็บ OAuth 2.0 จะใช้งานได้ น่าเสียดายที่นักพัฒนาส่วนน้อยเท่านั้นที่เหมาะสมกับการเรียกเก็บเงิน

นอกจากนี้รหัส OAuth 2.0 จะไม่สามารถใช้ซ้ำได้ ตัวอย่างเช่นโปรโตคอล OAuth 2.0 ที่ใช้โดยไซต์อื่นจะไม่สามารถใช้งานได้ ยิ่งไปกว่านั้นโปรโตคอลใหม่นั้นซับซ้อนกว่าเดิมมาก

แต่ตัวเตะจริงสำหรับคนจำนวนมากก็คือ OAuth 2.0 ไม่ได้ให้ประโยชน์ที่แท้จริงหรือปรับปรุงมากกว่า 1.0 Hammer เขียนว่าหากคุณใช้งาน 1.0 ได้สำเร็จไม่มีเหตุผลที่จะอัพเกรดเป็น 2.0

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