สารบัญ:
รถยนต์หรูหราหลายคันมาพร้อมกับกุญแจรถ มันเป็นรหัสพิเศษที่คุณให้ผู้ดูแลที่จอดรถและไม่เหมือนกับกุญแจปกติของคุณจะอนุญาตให้รถขับในระยะทางสั้น ๆ ในขณะที่ปิดกั้นการเข้าถึงลำต้นและโทรศัพท์มือถือออนบอร์ด ความคิดนั้นฉลาดมาก คุณให้สิทธิ์การเข้าถึงกุญแจรถพิเศษแก่ใครบางคนในขณะที่ใช้กุญแจอื่นเพื่อปลดล็อกทุกอย่าง - คู่มืออย่างเป็นทางการของ OAuth 1.0
นั่นเป็นวิธีที่แนวทางข้อกำหนดชุมชนอ้างอิงถึงวิธี OAuth ย้อนกลับไปในปี 2550 และในขณะที่ OAuth 2.0 เป็นโปรโตคอลใหม่อย่างสมบูรณ์คำอธิบายเดียวกันยังคงใช้อยู่ - OAuth ยังคงเป็นวิธีสำหรับผู้ใช้ในการให้สิทธิ์การเข้าถึงบุคคลที่สาม ทรัพยากรโดยไม่ต้องเปิดเผยรหัสผ่าน
หากคุณใช้อินเทอร์เน็ตเป็นประจำคุณมีโอกาสที่จะพบเว็บไซต์ที่ใช้ OAuth ท้ายที่สุดเว็บไซต์ที่ใหญ่ที่สุดในโลกเช่น Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote และ Vimeo ใช้มาตรฐานการรับรองความถูกต้องนี้ อ่านต่อเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับมาตรฐานนี้และสาเหตุที่รุ่นต่อไปของ OAuth 2.0 ยังคงถูกใช้งานบนพื้นฐานการทดลองที่ค่อนข้าง
OAuth 2.0 คืออะไร
ก่อนอื่นคุณต้องรู้ว่า OAuth เป็นโปรโตคอลทำอะไร: อนุญาตให้มีการอนุญาตการตั้งโปรแกรมอินเทอร์เฟซการเขียนโปรแกรมระหว่างแอปพลิเคชันเว็บหรือเดสก์ท็อป เป็นผลให้เว็บไซต์สามารถแบ่งปันทรัพยากรที่มีการป้องกันกับเว็บไซต์และบริการอื่น ๆ
ตัวอย่างเช่นหากคุณเล่น Scramble กับเพื่อน ๆ บน iPad ของคุณคุณสามารถป้อนข้อมูลประจำตัว Facebook ของคุณเพื่อให้เกมดูรายชื่อเพื่อนของคุณเพื่อดูว่าใครกำลังเล่นเกม - และเชิญผู้อื่นให้เข้าร่วม หรือคุณสามารถเชื่อมต่อกับเพื่อน ๆ ใน Google+ โดยพิจารณาจากผู้ที่ติดตามคุณใน Twitter แอปพลิเคชันประเภทนี้มีประโยชน์สำหรับผู้ใช้ แต่พวกเขาเกี่ยวข้องกับการให้เว็บไซต์หนึ่งหรือโปรแกรมเข้าถึงข้อมูลเกี่ยวกับคุณในเว็บไซต์อื่น
OAuth 2.0 ทำงานเหมือนกับการจุติครั้งแรกของ OAuth แต่เป็นมาตรฐานใหม่โดยสิ้นเชิง ซึ่งหมายความว่าไม่เข้ากันได้กับ OAuth 1.0 ย้อนหลัง เวอร์ชัน 2.0 ช่วยแก้ปัญหาหลายอย่างด้วย OAuth ดั้งเดิมและทำการปรับปรุง
ในขณะที่ยังคงรักษาสถาปัตยกรรมของเวอร์ชันแรกไว้โดยทั่วไป 2.0 จะได้รับการปรับปรุงเมื่อ:
- การรับรองความถูกต้องและลายเซ็นต์ OAuth 2.0 ทำให้บางคนในฝั่งไคลเอ็นต์สามารถใช้โปรโตคอลได้ง่ายขึ้น
- ประสบการณ์ของผู้ใช้และวิธีอื่นในการออกโทเค็น
- ประสิทธิภาพโดยเฉพาะเว็บไซต์และบริการที่มีขนาดใหญ่ขึ้น
ประโยชน์ของการใช้ OAuth 2.0
หนึ่งในเหตุผลที่ดีที่สุดในการใช้ OAuth คือทำให้การแบ่งปันง่ายขึ้นมาก เราคุ้นเคยกับการอัปโหลดรูปภาพไปยัง Instagram และให้โพสต์โดยอัตโนมัติไปที่ Twitter และ Facebook ในความเป็นจริงมันเป็นเรื่องง่ายในการใช้และครอสโอเวอร์ที่ยังคงทำให้โซเชียลมีเดียดึงดูดใจ
แต่นั่นไม่ใช่ทั้งหมด สำหรับผู้ใช้ปลายทาง OAuth หมายความว่าคุณไม่จำเป็นต้องสร้างโปรไฟล์อื่น ตัวอย่างเช่นหากคุณต้องการแสดงความคิดเห็นในบทความคุณสามารถใช้ข้อมูลประจำตัวของ Facebook หรือ Twitter เพื่อทำแทนการลงทะเบียนบัญชีบนเว็บไซต์ที่กำหนด สิ่งนี้เหมาะสำหรับไซต์ที่คุณไม่ได้เปิดใช้งานปกติหรือคุณอาจไม่ไว้ใจ นอกจากนี้ยังสามารถเป็นประโยชน์ต่อไซต์ด้วยการทำให้มั่นใจว่าผู้ใช้มีข้อมูลประจำตัวบน Facebook ทำให้มีความคิดเห็นสแปมน้อยลง
OAuth ยังหมายถึงการจำรหัสผ่านน้อยลง เป็นวิธีปฏิบัติที่ดีที่สุดในการมีรหัสผ่านที่แตกต่างกันสำหรับบริการเว็บไซต์ต่างๆ ดังนั้นแทนที่จะจำรหัสผ่านอื่นสำหรับคุณจะต้องใช้รหัสผ่าน Facebook ของคุณเพื่อเข้าถึงบริการ อย่างไรก็ตามจะไม่เห็นรหัสผ่านของคุณ
คุณสามารถ จำกัด ทรัพยากรที่เข้าถึงได้ผ่าน OAuth ของคุณ ตัวอย่างเช่นเมื่อเล่นเกมบน Facebook คุณสามารถระบุได้ว่าคุณต้องการให้เกมโพสต์บนวอลล์ในนามของคุณหรือไม่
สำหรับนักพัฒนา 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 ที่ใช้โดย Facebook จะไม่สามารถใช้งานได้โดยไซต์อื่น ยิ่งกว่านั้นโปรโตคอลใหม่นั้นซับซ้อนกว่าเดิมมาก
แต่นักเตะที่แท้จริงสำหรับหลาย ๆ คนก็คือ OAuth 2.0 นั้นไม่ได้ให้ประโยชน์ที่แท้จริงหรือปรับปรุงมากกว่า 1.0 Hammer เขียนว่าหากคุณใช้งาน 1.0 ได้สำเร็จไม่มีเหตุผลที่จะอัพเกรดเป็น 2.0
อย่างไรก็ตาม OAuth 2.0 ยังมีชีวิตอยู่มาก ถ้ามันอยู่ที่การวิพากษ์วิจารณ์และปัญหาที่เกิดขึ้นก็ยังอาจพบสถานที่เป็นโปรโตคอลที่มีประสิทธิภาพมาก อย่างไรก็ตามในช่วงเวลาของการเขียนเวอร์ชัน 1.0 นั้นยังถือว่าเป็น OAuth เวอร์ชั่นที่เสถียรและผ่านการทดสอบแล้ว อย่างไรก็ตามสำหรับนักพัฒนาที่ต้องการทำงานกับชื่อใหญ่ในโลกออนไลน์การใช้โพรโทคอลนี้อย่างปลอดภัยอาจกลายเป็นทักษะที่สำคัญในอนาคตไม่ไกลเกินไป