А расскажу-ка я вам, друзья , как привинтить к сайту авторизацию на социальных сетей, ровно как и OpenID.
Значит так.
Есть сайт, http://loginza.ru/ , ребята зря время не теряли , и проработали API множества социальных сетей и прочих более-менее значимых сервисов, создав виджет авторизации.
Теперь подробнее.
Loginza представляет интерактивный виджет, созданный на языке JavaScript, который позволяет посетителям вашего сайта производить вход в систему, используя широкий спектр из популярных веб-порталов и услуг, таких как Яндекс, Google , Вконтакте и так далее…
Простота в использовании API наряду с наличием готовых PHP и ASP решений позволяет легко дать пользователям, которые посещают ваш сайт, возможность войти, используя свою учетную запись в службах Яндекс, Google, Rambler, OpenID и целого ряда других крупных сервисов, имеющих API проверки подлинности.
Установка Loginza-виджета позволяет пользователям войти в свой сайт, используя свои учетные записи на популярных веб-порталах, таких как Яндекс, Google, Rambler, Mail.ru и Живой журнал, социальных сетей, включая Facebook и ВКонтакте, а также идентификаторы OpenID на различных сайтах.
Loginza.API это единый механизм аутентификации, использующий различные алгоритмы для аутентификации пользователей, это некоторая программная прослойка, которая преобразует различные механизмы аутентификации в общий, единых механизм.
Loginza.API — простой, удобный и, главное, безопасный метод входа в систему использованием OpenID и учетных записей других провайдеров. Процесс авторизации всегда выглядит одинаково, независимо от выбранного метода или сайта-поставщика услуги авторизации.
Процесс входа в систему через Loginza.API разделяется на 8 этапов:
- Сайт предлагает пользователю войти в систему через Виджет. Конечный пользователь имеет возможность выбора метода входа через множество различных поставщиков.
- Затем пользователь выбирает поставщика, у которого он имеет учетную запись, например, Google, Яндекс, Рамблер, OpenID и т.д.
- Виджет обрабатывает запрос пользователя и перенаправляет его на соответствующие сервисы поставщиков, и затем возвращает результат.
- Независимо от того, прошла ли аутентификация или нет, Виджет перенаправляет пользователя обратно на адрес сайта, с которого был осуществлен запрос.
- Код для проверки результата авторизации будет включен в POST-запрос к URL при перенаправлении пользователя. Этот код содержит уникальный идентификатор Loginza.
- Сайт, запрашивающий проверку подлинности должен получить и обработать POST значение этого кода, и, используя API, запросить результат аутентификации пользователя.
- В ответ на этот код сервер Loginza возвращает ответ в формате JSON. Ответ будет содержать либо данные профиля пользователя, либо ошибку, если таковая имела место быть.
- На основе полученного ответа, сайт производит авторизацию пользователя. Здесь разумно собрать максимум доступной информации от пользователя и сохранить ее в базу , в случае успешной авторизации , либо вежливо отказать пользователю во входе , в случае неудачной авторизации
Вот и все на сегодня, в следующих циклах статей мы рассмотрим практические приемы реализации описанного выше метода. Спасибо за внимание.