За мануал с Яшей тоже спасибо! Яшу добавлю в новую сборку и на выходных постараюсь сделать патч, чтобы можно было быстренько Яшку добавить в модель, чтобы руками не приходилось этого делать.
я использую awesomescreenshot. Там сразу и редактирование картинки перед постингом.
Для Яндекса еще проще
/**
/ class Hybrid_Providers_Yandex extends Hybrid_Provider_Model_OAuth2 { /*
// Provider apis end-points $this->api->api_base_url = "https://login.yandex.ru/info"; $this->api->authorize_url = "https://oauth.yandex.ru/authorize"; $this->api->token_url = "https://oauth.yandex.ru/token";
$this->api->sign_token_name = "oauth_token"; }
/**
load the user profile from the IDp api client */ function getUserProfile() { $response = $this->api->api( "?format=json" ); if ( ! isset( $response->id ) ){ throw new Exception( "User profile request failed! {$this->providerId} returned an invalide response.", 6 ); }
$this->user->profile->identifier = (property_exists($response,'id'))?$response->id:""; $this->user->profile->firstName = (property_exists($response,'real_name'))?$response->real_name:""; $this->user->profile->lastName = (property_exists($response,'family_name'))?$response->family_name:""; $this->user->profile->displayName = (property_exists($response,'display_name'))?$response->display_name:""; $this->user->profile->photoURL = 'http://upics.yandex.net/'. $this->user->profile->identifier .'/normal'; $this->user->profile->profileURL = ""; $this->user->profile->gender = (property_exists($response,'sex'))?$response->sex:""; $this->user->profile->email = (property_exists($response,'default_email'))?$response->default_email:""; $this->user->profile->emailVerified = (property_exists($response,'default_email'))?$response->default_email:"";
if( property_exists($response,'birthday') ){ list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthday );
$this->user->profile->birthDay = (int) $birthday_day; $this->user->profile->birthMonth = (int) $birthday_month; $this->user->profile->birthYear = (int) $birthday_year; }
return $this->user->profile; } } 4) Идем во вкладку «Элементы» и выбираем чанк dbt.lgnLoginTpl? Добавляем ссылку <a href="[[++assets_url]]components/modhybridauth/connectors/profile/auth.php?provider=Yandex&redirect_id=104" alt="Yandex" title="Войти через Яндекс" class="social Yandex"></a> 5) На всякий случай я почистил кэш У меня без бубнов заработало
Я на картинке для mysite.com сгенерировал) Спасибо
Только ключики в гугле перегенерируй, не секурно получается.
Жирный плюс за мануал! Да, я так же делал. Но все это так много времени отняло, что даже некогда было написать мануал :-) Но гугл — это самое сложное. Твиттер вообще без проблемно подключается. Здесь: dev.twitter.com/ И фейсбук тоже. В мордокниге только не забудьте снять галочку «Песочница». developers.facebook.com/apps/ ? На фейсбуке коллбэк-адрес не требуется вроде, он получает его от сервера в запросе. И да, ключи указываете, провайдеры активируете и все должно работать.
Хотел написать как я сделал. Написал — опять попробовал и выдало ошибку. Поэтому удалил комментарий. Заработало после того как кэш почистил. Может кому пригодится. На примере Google. 1) Идем сюда code.google.com/apis/console/ 2) Слева в меню нажимаем на "API Access" ? далее жмем на синюю кнопку "Create an OAuth 2.0 client ID..." ? 3) Вводим в поле "Product name", например название вашего сайта (mysite.com), жмем «Next». 4) В "Your site or hostname" меняем на http, адрес пишем (домен подставляем свой) такой: mysite.com/assets/components/modhybridauth/connectors/profile/auth.php?hauth.done=Google и щелкаем мышкой за пределы поля — должен сформироваться Redirect URI. После нажимаем «Create client ID». ? 5) Дальше идем в phpMyAdmin и подставляем эти данные: ? в таблицу modx_modhybridauth_providers (как в видео) 6) Все работает
Что не так?
Опять поторопился
ага, все-таки ssh нету, только sftp… Печаль.