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