OAuth คืออะไร (การอนุญาตเปิด)
OAuth อนุญาตให้แจ้งผู้ให้บริการทรัพยากร (เช่น Facebook) ว่าเจ้าของทรัพยากร (เช่นคุณ) ให้สิทธิ์แก่บุคคลที่สาม (เช่นแอปพลิเคชัน Facebook) ในการเข้าถึงข้อมูลของพวกเขา(เช่นรายชื่อเพื่อนของคุณ)
หากคุณอ่านอย่างชัดเจนว่าฉันจะเข้าใจความสับสนของคุณ ลองดูตัวอย่างที่เป็นรูปธรรม: เข้าร่วมเครือข่ายโซเชียลอื่น!
สมมติว่าคุณมีบัญชี GMail อยู่แล้ว คุณตัดสินใจเข้าร่วม LinkedIn การเพิ่มเพื่อนจำนวนมากของคุณทั้งหมดด้วยตนเองนั้นน่าเบื่อและข้อผิดพลาดง่าย คุณอาจเบื่อหน่ายครึ่งทางหรือใส่ตัวพิมพ์ผิดในที่อยู่อีเมลเพื่อรับคำเชิญ ดังนั้นคุณอาจถูกล่อลวงไม่ให้สร้างบัญชีหลังจากทั้งหมด
เมื่อเผชิญกับสถานการณ์นี้ LinkedIn มีความคิดที่ดี (TM) ในการเขียนโปรแกรมที่เพิ่มรายชื่อเพื่อนของคุณโดยอัตโนมัติเพราะคอมพิวเตอร์มีประสิทธิภาพและประสิทธิผลในการทำงานที่น่าเบื่อและผิดพลาด ตั้งแต่เข้าร่วมเครือข่ายเป็นเรื่องง่ายมากไม่มีทางที่คุณจะปฏิเสธข้อเสนอเช่นนี้ได้หรือไม่?
โดยไม่ต้อง API สำหรับการแลกเปลี่ยนรายชื่อผู้ติดต่อนี้คุณจะต้องให้ LinkedIn ชื่อผู้ใช้และรหัสผ่านไปยังบัญชี Gmail ของคุณจึงให้พวกเขามีอำนาจมากเกินไป
นี่คือที่มาของ OAuth หาก GMail ของคุณรองรับโปรโตคอล OAuth แล้ว LinkedIn สามารถขอให้คุณอนุญาตให้พวกเขาเข้าถึงรายชื่อผู้ติดต่อ GMail ของคุณได้
OAuth อนุญาตสำหรับ:
- ระดับการเข้าถึงที่ต่างกัน: อ่านอย่างเดียว VS อ่าน - เขียน วิธีนี้ช่วยให้คุณสามารถให้สิทธิ์การเข้าถึงรายชื่อผู้ใช้ของคุณหรือการเข้าถึงแบบสองทิศทางเพื่อซิงโครไนซ์เพื่อน LinkedIn ใหม่ของคุณกับผู้ติดต่อ GMail ของคุณโดยอัตโนมัติ
- เข้าถึงอย่างละเอียด: คุณสามารถตัดสินใจอนุญาตให้เข้าถึงเฉพาะข้อมูลการติดต่อของคุณ (ชื่อผู้ใช้อีเมลวันเดือนปีเกิด ฯลฯ ) หรือรายชื่อเพื่อนปฏิทินและสิ่งที่ไม่เกี่ยวข้องทั้งหมด
- ช่วยให้คุณจัดการการเข้าถึงจากแอปพลิเคชันของผู้ให้บริการทรัพยากร หากแอปพลิเคชันของบุคคลที่สามไม่มีกลไกในการยกเลิกการเข้าถึงคุณจะติดอยู่กับพวกเขาที่มีการเข้าถึงข้อมูลของคุณ ด้วย OAuth มีข้อกำหนดสำหรับการเพิกถอนการเข้าถึงได้ตลอดเวลา
มันจะกลายเป็นพฤตินัย (มาตรฐานหรือไม่) ในอนาคตอันใกล้
ถึงแม้ว่า OAuth จะเป็นก้าวสำคัญไปข้างหน้า แต่ก็ไม่ได้แก้ปัญหาหากผู้ใช้ไม่ได้ใช้อย่างถูกต้อง ตัวอย่างเช่นหากผู้ให้บริการทรัพยากรให้ระดับการเข้าถึงการอ่าน - เขียนเพียงครั้งเดียวแก่ทรัพยากรทั้งหมดของคุณในครั้งเดียวและไม่ได้จัดเตรียมกลไกสำหรับการจัดการการเข้าถึงดังนั้นจึงไม่มีประโยชน์ กล่าวอีกนัยหนึ่ง OAuth เป็นกรอบการทำงานที่ให้สิทธิ์ในการทำงานไม่ใช่แค่การตรวจสอบสิทธิ์
ในทางปฏิบัติมันเหมาะกับโมเดลเครือข่ายสังคมเป็นอย่างดี เป็นที่นิยมอย่างยิ่งสำหรับเครือข่ายโซเชียลเหล่านั้นที่ต้องการอนุญาต "ปลั๊กอิน" ของบุคคลที่สาม นี่คือพื้นที่ที่จำเป็นต้องเข้าถึงทรัพยากรโดยเนื้อแท้และไม่น่าเชื่อถือโดยเนื้อแท้ (เช่นคุณมีการควบคุมคุณภาพน้อยกว่าหรือไม่มีเลยสำหรับแอพพลิเคชันเหล่านั้น)
ฉันไม่ได้เห็นการใช้อื่น ๆ มากมายในป่า ฉันหมายความว่าฉันไม่รู้ บริษัท ที่ให้คำปรึกษาทางการเงินออนไลน์ที่จะเข้าถึงบันทึกธนาคารของคุณโดยอัตโนมัติแม้ว่าจะสามารถใช้วิธีการทางเทคนิคได้