Что такое OAuth (открытая авторизация)?
OAuth позволяет уведомить поставщика ресурсов (например, Facebook) о том, что владелец ресурса (например, вы) предоставляет разрешение сторонним (например, приложению Facebook) на доступ к информации (например, списку ваших друзей).
Если выПрочитайте это как ясно, я бы понял ваше замешательство.Итак, давайте рассмотрим конкретный пример: присоединяйтесь к еще одной социальной сети!
Допустим, у вас уже есть учетная запись GMail.Вы решили присоединиться к LinkedIn.Добавление всех ваших многих, многих друзей вручную утомительно и подвержено ошибкам.Вы можете быть сыт по горло или вставить опечатки в их адрес электронной почты для приглашения.Так что в конце концов у вас может возникнуть соблазн не создавать учетную запись.
В этой ситуации у LinkedIn есть отличная идея - написать программу, которая автоматически добавляет ваш список друзей, поскольку компьютеры намного эффективнее и эффективнее.в утомительных и склонных к ошибкам задачах.Поскольку присоединение к сети теперь так просто, нет способа , вы бы отказались от такого предложения, не так ли?
Без API для обмена этим списком контактов вам придетсяпредоставьте LinkedIn имя пользователя и пароль для вашей учетной записи GMail, тем самым предоставив им слишком много мощности .
Именно здесь приходит OAuth. Если ваш GMail поддерживает протокол OAuth, LinkedIn может попросить васразрешить им доступ к вашему списку контактов GMail.
OAuth позволяет:
- Различные уровни доступа: только для чтения VS для чтения и записи.Это позволяет вам предоставить доступ к вашему списку пользователей или двунаправленный доступ для автоматической синхронизации ваших новых друзей в LinkedIn с вашими контактами GMail.
- Детализация доступа: вы можете решить предоставить доступ только к вашей контактной информации (имя пользователя, электронной почте, дате рождения и т. д.) или ко всему списку друзей, календарю и т. д.
- Позволяет управлять доступом из приложения поставщика ресурсов.Если стороннее приложение не предоставляет механизм отмены доступа, вы застряли бы в том, чтобы они имели доступ к вашей информации.С OAuth есть возможность аннулировать доступ в любое время.
Станет ли это де-факто (стандартом?) В ближайшем будущем?
Хорошо,хотя OAuth является значительным шагом вперед, он не решает проблемы, если люди не используют его правильно.Например, если поставщик ресурсов предоставляет только один уровень доступа для чтения-записи сразу всем вашим ресурсам и не предоставляет механизм для управления доступом, то в этом нет никакого смысла.Другими словами, OAuth - это структура, обеспечивающая функциональность авторизации, а не только аутентификацию.
На практике она очень хорошо подходит для модели социальной сети.Это особенно популярно для тех социальных сетей, которые хотят разрешить сторонние «плагины».Это область, где доступ к ресурсам необходим по своей природе, а также по своей сути ненадежен (т. Е. У вас нет или почти нет контроля качества этих приложений).
Я не видел так много других применений в дикой природе,Я имею в виду, что не знаю онлайн-финансовой консультационной фирмы, которая будет автоматически получать доступ к вашим банковским записям, хотя технически это можно использовать .