• Как настроить Wordpress Social Login для Одноклассников?

    После бессонной ночи получилось вытянуть из Одноклассников данные о пользователе: имя, фамилия и т. д. На идеальный код не претендую, но работает. В методе getUserProfile() после $response = $this->api->api( '?application_key=' . $this->config['keys']['key'] . '&method=users.getCurrentUser&sig=' .$sig.'&fields=email') добавляем:

    /*
                * Get more user info
                */
                $sign = md5("application_key=".$this->config['keys']['key']."format=jsonmethod=users.getCurrentUser" . md5("{$this->api->access_token}{$this->api->client_secret}"));
                $params = array(
                    'method'          => 'users.getCurrentUser',
                    'access_token'    => $this->api->access_token,
                    'application_key' => $this->config['keys']['key'],
                    'format'          => 'json',
                    'sig'             => $sign
                );
    
                // @array
                $userInfo = json_decode(file_get_contents('http://api.odnoklassniki.ru/fb.do' . '?' . urldecode(http_build_query($params))), true);
                foreach($userInfo as $k => $v) {
                    $response->$k = $v;
                }
    
                // End


    Правда, если имя в ОК указано кириллицей, ник в профиле будет "info" (переменная $this->user->profile->displayName ниже по коду). Но юзер сможет его изменить, если нужно.
  • Как настроить Wordpress Social Login для Одноклассников?

    1. Указал в качестве значения свойства $this->config['keys']['key'] публичный ключ приложения.
    2. Добавил в $sig параметр fields со значением email.

    $this->config['keys']['key'] = 'ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ_ПРИЛОЖЕНИЯ'; // Public Application key
    $sig = md5('application_key=' . $this->config['keys']['key'] . 'fields=email'.'method=users.getCurrentUser' .md5($this->api->access_token . $this->api->client_secret));


    Авторизация через Одноклассники и WSL теперь работает... но! Одноклассники возвращают только email юзера: ни имени, ни адреса... нахрен такую авторизацию!