В этой части статьи мы рассмотрим теоретическую сторону вопроса, а в следующем посте я расскажу о реализации. Сначала я быстро объясню, что такое OAuth и OpenId, это не очень важно если вы собираетесь использовать Loginza, но для общего развития советую почитать.
OpenId — протокол для авторизации использующий данные пользователя. При использовании OpenId сайт клиент запрашивает пользователя его идентификатор на основании которого делает запрос к поставщику OpenId и там пользователь дает или не дает доступ к своим данным. Самые известные поставщики, это Google, Яндекс, ЖЖ, Mail.ru и MyOpenId, а также WordPress, Blogger, Рамблер и др.
OAuth — протокол удаленной авторизации пользователя. Он используется для таких вещей, как формы комментариев с социальных сетей и др. Для авторизации этот механизм не задуман, но вполне может использоваться и в этом случае. Он не требует для авторизации идентификатор пользователя, а просто делает запрос на сайт поставщик, который в свою очередь спрашивает пользователя о разрешении доступа постороннему сайту.
Loginza – cервис, который скрывает все отличия между различными сервисами авторизации. В этом сервисе используется, как OpenId, так и OAuth. Работа с этим сервисом проходит по следующей схеме:
• На сайт ставится JS виджет от Loginza
• Пользователь выбирает сервис для авторизации
• Появляется окно, которое спрашивает о передаче доступа
• В случае успеха token передается на сайт Loginza
• Loginza передает унифицированный токен клиентскому сайту
• Cайт отправляет токен обратно логинзе а та возвращает данные пользователя json ответом
• Сайт обрабатывает данные и авторизирует пользователя
На этом все. Подробнее принцип работы с сервисом, а также кодовые примеры мы рассмотрим в следующей части.
ссылка на оригинал статьи http://habrahabr.ru/post/157629/
Добавить комментарий