Столкнулся с той же проблемой, у меня был WordPress 4.8.2 с Wordpress Social Login 2.3.3
В данный момент обработчик Одноклассников устарел, их АПИ обновилось + используется доп. ключ авторизации (в письме это "Публичный ключ приложения"). Вот что мне помогло:
- В поле "Application Secret" для Odnoklassniki в плагине Social Login устанавливаем "Секретный ключ приложения" из письма Одноклассников о регистрации приложения
- Далее придется редактировать обработчик ОК в плагине, это на самом деле плохо, но это самый быстрый способ решить проблему (по хорошему внести правку на GitHub):
- открываем на редактирование файл "/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Odnoklassniki.php"
- в функции "initialize()" необходимо сменить УРЛы точек доступа, итоговый вид функции:
function initialize()
{
parent::initialize();
// Provider apis end-points
$this->api->api_base_url = "https://api.ok.ru/fb.do";
$this->api->authorize_url = "https://connect.ok.ru/oauth/authorize";
$this->api->token_url = "https://api.ok.ru/oauth/token.do";
$this->api->sign_token_name = "access_token";
}
- после внесения данных правок должна заработать аутентификация, но выборка данных работать не будет
- далее, в функции "getUserProfile()" необходимо установить корректное значение для публичного ключа, в текущий момент оно береться с переменной "$this->config['keys']['key']", для этого в начале функции можно прописать что то вроде:
function getUserProfile()
{
$this->config['keys']['key'] = '<Публичный ключ приложения>';
$sig = md5('application_key=' . $this->config['keys']['key'] . 'method=users.getCurrentUser' . md5($this->api->access_token . $this->api->client_secret));
$response = $this->api->api( '?application_key=' . $this->config['keys']['key'] . '&method=users.getCurrentUser&sig=' .$sig);
...
}
вместо "<Публичный ключ приложения>" впишите свое значение