«Cackle — единый вход»
Раздел: Социальные сети
В этой статье расскажем про единую аутентификацию, которая может быть полезна сайтам с уже имеющейся базой зарегистрированных пользователей. Единый вход (Single Sign-On) позволяет существующим пользователям сайта оставлять комментарии через виджет Cackle от имени учетной записи пользователя на сайте без необходимости авторизации в виджете с помощью социальной сети (OAuth) или OpenID провайдера. Как это происходит?Для настройки единой авторизации в код виджета добавляется переменная mcSSOAuth, значение которой есть зашифрованные данные пользователя и секретный ключ виджета. В случае успешной верификации ключа данные сохраняются в системе, а сам пользователь авторизуется. Значение переменной должно формироваться на сервере и быть равно:
<JSON данные пользователя в Base64><пробел><MD5 подпись запроса><пробел><текущее время в секундах>
JSON данные пользователя включают в себя следующие атрибуты:
MD5 подпись запроса формируется как:
md5(<JSON данные пользователя в Base64><Site API Key><текущее время в секундах>)
Site API Key — уникальный идентификатор виджета для работы с API. Его можно получить в панели администрирования на вкладке «Виджет», снизу выбрав WordPress плагин. ВыходДля выхода пользователя, вместо JSON данных пользователя, нужно передавать пустую JSON строчку {}. Пример использованияК примеру вы администратор ресурса www.example.org. На вашем сайте зарегистрирован пользователь Freeman. Вы хотите, чтобы Freeman мог оставлять комментарии через виджет Cackle под своим аккаунтом, без повторного входа. В этом случае нужно настроить единую аутентификацию, после чего Freeman и все остальные пользователи смогут комментировать от своих собственных учетных записей. Все что нужно сделать — это сформировать массив с данными пользователя Freeman из нашей БД: Допустим его id — 7, email — freeman@example.org, avatar — example.org/freeman.png, Site API Key виджета — 123456789, а функция is_user_logged_in() в нашей системе проверяет залогинен ли пользователь.
Функция cackle_auth возвращает строку, которую необходимо поместить в то место, где находится код виджета:
Кстати говоря, в новой версии плагина для WordPress, единая авторизация уже реализована. Вы можете включить её выставив галочку в настройках. Дата публикации: 2012-11-09 |