Единая авторизация позволяет пользователям Вашего сайта отправлять комментарии в виджете от своего имени.
Для настройки единой авторизации необходимо сформировать значение для параметра виджета sso.auth
. Пример:
RCB.push({ widget:"Comments", id: 10, sso: { auth: 'eyJpZCI6MSwibmFtZSI6Ilx1MDQxMFx1MDQzZFx1MDQ0Mlx1MDQzZVx1MDQzZCBcdTA0MjhcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDFcdTA0NDJcdTA0M2VcdTA0MzIgV1AiLCJlbWFpbCI6ImRqZGVsbEB5YW5kZXgucnUiLCJhdmF0YXIiOiJodHRwOlwvXC8xLmdyYXZhdGFyLmNvbVwvYXZhdGFyXC80MjY1Nzc5NTdhYjQ5MWI1YTNiMjRhNDA2ZWUzZGFlYz9zPTk2JmQ9bW0mcj1nIn0= b852fef52cfc64da8c849775a9d348b2 1547653549349' } })
Параметр auth
состоит из 3х элементов разделенных пробелом
Для формирования данных о пользователе необходимо взять массив с данными, перевести его в JSON строку и закодировать в Base64. Пример PHP:
$userArr = array( 'id' => 101, // обязательно 'name' => 'SSO пользователь', // обязательно 'email' => 'sso@recobox.ru', // не обязательно 'avatar' => 'http://...', // не обязательно 'profile => 'http://...' // не обязательно ); $userData = base64_encode(json_encode($userArr));
Пример PHP:
// код выше $siteApiKey = 'API_KEY'; $timestamp = time(); $sign = md5($userData . $siteApiKey . $timestamp);
API ключ виджета можно найти в настройках виджета в админ. панели на вкладке с настройками уведомлений.
Полный пример формирования переменной auth
$siteApiKey = 'API_KEY'; $userArr = array( 'id' => 101, // обязательно 'name' => 'SSO пользователь', // обязательно 'email' => 'sso@recobox.ru', // не обязательно 'avatar' => 'http://...', // не обязательно 'profile => 'http://...' // не обязательно ); $userData = base64_encode(json_encode($userArr)); $timestamp = time(); $sign = md5($userData . $siteApiKey . $timestamp); $ssoAuth = $userData . ' ' . $sign . ' ' . $timestamp;