Опубликовано: 14 декабря 20159 г Имя файла: Плагин авторизации через VK для IPS 4.xВладелец файла: siv1987Файл размещен: 15 Дек 2015Файл обновлен: 18 Дек 2015Категория файла: Модификации Плагин содержит метод авторизации через Вконтакте для IPB 4x. Нажмите сюда, чтобы скачать этот файл
Опубликовано: 5 марта 20187 г Уже не помню, что там было, но проблема, видимо, ушла. В любом случае спасибо за ответ. Пользуясь случаем, хотел бы спросить. В грядущей версии 4.3 планируется внедрение полной поддержки OAuth 2.0, где можно будет привинчивать авторизацию через любые сервисы, поддерживающие упомянутый протокол: https://invisioncommunity.com/news/product-updates/43-sign-in-from-other-sites-using-oauth-r1058/ Стоит ли ждать инструкций по переносу данных с этого плагина на встроенный функционал?
Опубликовано: 5 марта 20187 г Стоит ли ждать инструкций по переносу данных с этого плагина на встроенный функционал?Для начала нужно дождаться выхода 4.3 и посмотреть на реализацию.
Опубликовано: 20 марта 20187 г Пришло письмо от ВК: Здравствуйте! Вы получили это сообщение, так как являетесь администратором приложения https://vk.com/app*** на нашей платформе. Сейчас Ваше приложение генерирует большое количество ошибок — это значит, что часть функциональности в приложении или на Вашем сайте недоступна пользователям. К примеру, может не работать авторизация. Ранее, если Вы не указывали в своём запросе параметр v (версию), он автоматически считался равным 3.0. Теперь этот параметр стал обязательным для всех запросов к API. Сервер вернет ошибку 8 на запрос, в котором не указана версия API. Если методы в Вашем приложении стали возвращать ошибку "invalid request" на любой запрос или сломалась авторизация — укажите в запросах используемую версию API для возобновления работы. Более подробно о грядущих изменениях мы писали здесь: https://vk.com/dev/version_update Если на Вашем сайте или в приложении используется сторонний плагин, в разработке которого Вы не участвовали — обратитесь к его автору, показав это сообщение, чтобы он мог внести необходимые изменения. С уважением, Команда ВКонтакте Хотя с виду вроде пока работает.
Опубликовано: 21 марта 20187 г Во все запросы, отправляемые к api VK нужно добавить параметр v с указанием версии.
Опубликовано: 21 марта 20187 г Спасибо, получается Перед: \system\Login\vk.php $userData = \IPS\Http\Url::external( "https://api.vk.com/method/getProfiles?uid={$details[1]}&access_token={$details[0]}&fields=first_name,last_name,screen_name,bdate,nickname" )->request()->get()->decodeJson(); Перед: \system\Login\vk.php $userData = \IPS\Http\Url::external( "https://api.vk.com/method/getProfiles?uid={$response['user_id']}&access_token={$response['access_token']}&fields=first_name,last_name,screen_name,bdate,nickname" )->request()->get()->decodeJson(); Перед: \applications\core\sources\ProfileSync\vk.php $response = \IPS\Http\Url::external( "https://api.vk.com/method/getProfiles?uid={$this->member->vk_id}&access_token={$this->member->vk_token}" )->request()->get()->decodeJson(); $response = \IPS\Http\Url::external( "https://api.vk.com/method/getProfiles?uid={$this->member->vk_id}&access_token={$this->member->vk_token}&fields=photo_max_orig&https=" . intval( \IPS\Request::i()->isSecure() ) )->request()->get()->decodeJson(); $response = \IPS\Http\Url::external( "https://api.vk.com/method/getProfiles?uid={$this->member->vk_id}&access_token={$this->member->vk_token}" )->request()->get()->decodeJson(); $response = \IPS\Http\Url::external( "https://api.vk.com/method/getProfiles?uid={$this->member->vk_id}&access_token={$this->member->vk_token}&fields=status" )->request()->get()->decodeJson(); Добавить: ?$params['v'] = '5.73';
Опубликовано: 21 марта 20187 г Добавить: ?$params['v'] = '5.73';А это откуда взялось? &access_tokenзаменить на &v=5.73&access_token
Опубликовано: 24 мая 20187 г Итак, 4.3 вышла. Очень бы хотелось инструкций, как перенести данные плагина на новую версию. https://invisioncommunity.com/news/product-updates/43-sign-in-from-other-sites-using-oauth-r1058/
Опубликовано: 24 мая 20187 г https://invisioncommunity.com/files/file/8993-vkcom-login-handler/ У автора на форуме есть инструкция по конвертации.
Опубликовано: 27 мая 20187 г - Создать хендлер для VK по инструкции. - Создать в корне php-файл со следующим содержимым<?php require_once 'init.php'; \IPS\Dispatcher\External::i(); if (!\IPS\Member::loggedIn()->isAdmin()) { \IPS\Output::i()->redirect(\IPS\Http\Url::internal('')); } try { $vkLoginId = 10000; $loginMethod = \IPS\Db::i()->select('*', 'core_login_methods', array('login_id=?', $vkLoginId))->first(); } catch (\Exception $e) { \IPS\Output::i()->error('VK-метод авторизации не обнаружен', '1-VKCONVERT/1'); } try { $test = \IPS\Db::i()->select('vk_id, vk_token', 'core_members')->first(); } catch (\Exception $e) { \IPS\Output::i()->error($e->getMessage(), '1-VKCONVERT/2'); } foreach (\IPS\Db::i()->select('member_id, vk_id, vk_token', 'core_members', array('vk_id>0')) as $member) { \IPS\Db::i()->insert('core_login_links', array( 'token_login_method' => $vkLoginId, 'token_member' => $member['member_id'], 'token_identifier' => $member['vk_id'], 'token_linked' => TRUE, 'token_access_token' => $member['vk_token'], ), false, true); }10000 заменить на ID созданного хендлера - Обратиться к файлу
Опубликовано: 19 августа 20196 г Подниму тему как на 4.4.5 организовать регистрацию/авторизация через VK?? пробовал различные варианты все не работают на 4.4, рабочий один вариант это https://invisioncommunity.com/files/file/9396-vkcom-integration/ но он тяжёлый зараза создает по 20-25забросов в бд при просмотре темы не понятно для чего.Может есть у кого легкое решение для регистрации/авторизации через VK??
Опубликовано: 20 августа 20196 г Подниму тему как на 4.4.5 организовать регистрацию/авторизация через VK??Встроенный метод с созданием хендлера чем не устраивает?
Опубликовано: 20 августа 20196 г Встроенный метод с созданием хендлера чем не устраивает?не хочет работать, вроде все настроил по инструкции что тут https://invisioncommunity.com/news/product-updates/43-sign-in-from-other-sites-using-oauth-r1058/то есть настройки выглядят так https://yadi.sk/i/reJjBJcAt2xQBwединственное не понял про настройку User Information Endpoint у меня она выглядит так https://api.vk.com/method/users.get?fields=screen_name,photo_medium возможно тут и есть ошибкаПри попытке войти выдает ошибку "Что-то пошло не так. Пожалуйста, попробуйте еще раз." в системных логах ошибкиArray ( [error] => Array ( [error_code] => 8 [error_msg] => Invalid request: v is required. Version param should be passed as "v". "version" param is invalid and not supported. [request_params] => Array ( [0] => Array ( [key] => fields [value] => screen_name,photo_medium ) [1] => Array ( [key] => method [value] => users.get ) [2] => Array ( [key] => oauth [value] => 1 ) ) ) ) #0 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\Custom.php(449): IPS\_Log::log('Array\n(\n [er...', 'oauth_custom') #1 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\Custom.php(294): IPS\Login\Handler\OAuth2\_Custom->_userData('0740fa1a0d3ecb6...', 'response[0][uid...') #2 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(384): IPS\Login\Handler\OAuth2\_Custom->authenticatedUserId('0740fa1a0d3ecb6...') #3 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(368): IPS\Login\Handler\_OAuth2->_processAccessToken(Object(IPS\Login), Array) #4 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(164): IPS\Login\Handler\_OAuth2->_handleAuthorizationResponse(Object(IPS\Login)) #5 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Login.php(316): IPS\Login\Handler\_OAuth2->authenticateButton(Object(IPS\Login)) #6 N:\OSPanel\domains\ipb43.ru\forum\applications\core\modules\front\system\login.php(57): IPS\_Login->authenticate() #7 N:\OSPanel\domains\ipb43.ru\forum\system\Dispatcher\Controller.php(96): IPS\core\modules\front\system\_login->manage() #8 N:\OSPanel\domains\ipb43.ru\forum\system\Dispatcher\Dispatcher.php(152): IPS\Dispatcher\_Controller->execute() #9 N:\OSPanel\domains\ipb43.ru\forum\index.php(13): IPS\_Dispatcher->run() #10 {main} и IPS\Login\Exception::2 generic_error #0 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\Custom.php(294): IPS\Login\Handler\OAuth2\_Custom->_userData('0740fa1a0d3ecb6...', 'response[0][uid...') #1 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(384): IPS\Login\Handler\OAuth2\_Custom->authenticatedUserId('0740fa1a0d3ecb6...') #2 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(368): IPS\Login\Handler\_OAuth2->_processAccessToken(Object(IPS\Login), Array) #3 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(164): IPS\Login\Handler\_OAuth2->_handleAuthorizationResponse(Object(IPS\Login)) #4 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Login.php(316): IPS\Login\Handler\_OAuth2->authenticateButton(Object(IPS\Login)) #5 N:\OSPanel\domains\ipb43.ru\forum\applications\core\modules\front\system\login.php(57): IPS\_Login->authenticate() #6 N:\OSPanel\domains\ipb43.ru\forum\system\Dispatcher\Controller.php(96): IPS\core\modules\front\system\_login->manage() #7 N:\OSPanel\domains\ipb43.ru\forum\system\Dispatcher\Dispatcher.php(152): IPS\Dispatcher\_Controller->execute() #8 N:\OSPanel\domains\ipb43.ru\forum\index.php(13): IPS\_Dispatcher->run() #9 {main}
Опубликовано: 20 августа 20196 г Вставил в параметр User Information Endpoint такую ссылку https://api.vk.com/method/users.get?fields=screen_name&v=5.101результат тот же ошибка только измениласьArray ( [response] => Array ( [0] => Array ( [id] => ** [first_name] => **** [last_name] => ******* [is_closed] => 1 [can_access_closed] => 1 [screen_name] => id**** ) ) ) #0 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\Custom.php(449): IPS\_Log::log('Array\n(\n [re...', 'oauth_custom') #1 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\Custom.php(294): IPS\Login\Handler\OAuth2\_Custom->_userData('17489e6ac564078...', 'response[0][uid...') #2 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(384): IPS\Login\Handler\OAuth2\_Custom->authenticatedUserId('17489e6ac564078...') #3 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(368): IPS\Login\Handler\_OAuth2->_processAccessToken(Object(IPS\Login), Array) #4 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Handler\OAuth2\OAuth2.php(164): IPS\Login\Handler\_OAuth2->_handleAuthorizationResponse(Object(IPS\Login)) #5 N:\OSPanel\domains\ipb43.ru\forum\system\Login\Login.php(316): IPS\Login\Handler\_OAuth2->authenticateButton(Object(IPS\Login)) #6 N:\OSPanel\domains\ipb43.ru\forum\applications\core\modules\front\system\login.php(57): IPS\_Login->authenticate() #7 N:\OSPanel\domains\ipb43.ru\forum\system\Dispatcher\Controller.php(96): IPS\core\modules\front\system\_login->manage() #8 N:\OSPanel\domains\ipb43.ru\forum\system\Dispatcher\Dispatcher.php(152): IPS\Dispatcher\_Controller->execute() #9 N:\OSPanel\domains\ipb43.ru\forum\index.php(13): IPS\_Dispatcher->run() #10 {main}
Имя файла: Плагин авторизации через VK для IPS 4.x
Владелец файла: siv1987
Файл размещен: 15 Дек 2015
Файл обновлен: 18 Дек 2015
Категория файла: Модификации
Плагин содержит метод авторизации через Вконтакте для IPB 4x.
Нажмите сюда, чтобы скачать этот файл