Спасибо за расширение, пытаюсь его использовать в своем проекте. Авторизируюсь вконтакте*(делал по руководству на гитхабе), получаю Yii::app()->user->id равный пользовательскому айди вроде юзер авторизируется и логин проходит успешно. Подключил класс CustomVkontakteService, инстанцирую его, пытаюсь получить параметры, говорит что Unable to complete the request because the user was not authenticated.
Код: Выделить всё
$vk = new CustomVKontakteService;
// var_dump($vk);
$vk = $vk->getAttributes();
Я что то недопонял или делаю неправильно? Автор подскажите пожалуйста 2 дня сижу над вашим кодом
. Цель собственно получить доступ к данным юзера из соцсети...
Буду ОЧень благодарен за разьяснение...
UPD:
получил данные при авторизации и логине
Код: Выделить всё
$service = Yii::app()->request->getQuery('service');
if (isset($service)) {
$authIdentity = Yii::app()->eauth->getIdentity($service);
$authIdentity->redirectUrl = Yii::app()->user->returnUrl;
$authIdentity->cancelUrl = $this->createAbsoluteUrl('access/test');
if ($authIdentity->authenticate()) {
$identity = new ServiceUserIdentity($authIdentity);
// Запихиваем данные в сессионую переменную
Yii::app()->session['test'] = $authIdentity->getAttributes();
// Успешный вход
if ($identity->authenticate()) {
Yii::app()->user->login($identity);
// Специальный редирект с закрытием popup окна
$authIdentity->redirect(array('access/test'));
}
else {
// Закрываем popup окно и перенаправляем на cancelUrl
$authIdentity->cancel();
}
}
// Что-то пошло не так, перенаправляем на страницу входа
$this->redirect(array('access/test'));
}
Собственно теперь другой вопрос нужно каждый раз запрос на авторизацию составлять что бы получить эти данные? Каким методом воспользоваться что бы получить их когда человек уже залогинился на мой сайт?
2 вопрос города страны возвращаются в кодах, где взять их имена или реф?