Спецификация Oauth была впервые выпущена в 2007 году. OAuth был стандартным методом аутентификации для поставщиков программного обеспечения как услуги. OAuth предоставляет клиентскому веб-сайту средства для доступа к пользовательской информации от третьего лица от имени пользователя, не требуя от пользователя предоставления своих регистрационных данных. К сожалению для разработчиков, реализация рукопожатия OAuth с различными поставщиками может быть довольно утомительным
Spring Social, проектом, который значительно упрощает процесс создания и управления подключениями сторонних поставщиков. Цели проекта состоят в том, чтобы абстрагировать конкретные детали реализации каждого сервиса, чтобы предоставить разработчикам простой метод получения API каждого сервиса в строго типизированной привязке Java, и аккуратно организовать хранимые соединения, чтобы они могли быть связаны с приложением. локальные пользователи.
Существует множество преимуществ использования Spring Social вместо простого OAuth. Spring Social обрабатывает все варианты протокола OAuth, доступные в сети, и благодаря поддержке модулей, специфичных для провайдера, любой может адаптировать его для подключения к любому провайдеру с поддержкой OAuth. Инфраструктура предоставляет встроенное хранилище соединений и управление ими, а также предоставляет пользователям API-интерфейс на основе Java, специально предназначенный для используемого ими сервиса.
Кроме того, хотя Spring Social в настоящее время полагается на OAuth, он не зависит отпротокол. Поскольку протоколы авторизации полностью абстрагированы от каких-либо открытых сведений о соединении, рефакторинг не требуется, когда поставщики неизбежно изменяют свою стратегию авторизации.