[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация через Вконтакт
masterlelik
Вопрос немного не стандартный и этим на мой взгляд не прост. И. возможно, не совсем касается ПХП,

Параллельно подключал на двух сайта авторизацию через соц. сеть вконтакте.
Код кнопки
<a href="http://api.vkontakte.ru/oauth/authorize?client_id=ХХХХХХ&scope=&redirect_uri=http://site.ru/page.php&response_type=code"><img src=""></a>

Получение информации

$url = "https://api.vkontakte.ru/oauth/access_token?client_id=".$vk_app_id."&client_secret=".$vk_app_shared_secret."&code=".$_REQUEST["code"];
$response = json_decode(@file_get_contents($url));

Так вот, для первого сайта приложение в ВК было создано уже года назад здесь: http://vk.com/editapp?act=create
Для второго сайта приложение создал вчера.
Первый сайт все хорошо авторизирует, а на втором переменная $response остается пустой, но если я на втором сайте прописываю в $vk_app_id и $vk_app_shared_secret, а также в коде кнопки client_id данные из первого приложения, и меняю адрес сайта в самом приложении на второй сайт, то все работает.
Пробовал создавать приложение и как веб-сайт и как Desktop приложение не помогает.

В чем же может быть проблема?





_____________
Игорь_Vasinsky
а надо то как Standalone-приложение biggrin.gif погуглил бы - знал.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
masterlelik
Desktop приложение - и есть Standalone-приложение
При создании выбирал пункт Standalone-приложение, а уже когда кликаешь по названию оно пишет Desktop приложение.

_____________
Hello
masterlelik redirect_uri тоже поменяли?

_____________
VPS от 5$, первые 2 месяца - бесплатно.
masterlelik
Вначале когда искал проблемное место менял на тот сайт, где все ок. Все редиректило и авторизировало.

Но файл с обработкой один и тот же на "проблемном сайте", поэтому меняя id+ключ redirect_uri менять не нужно

_____________
Hello
Что выдаст данный код?

//$response = json_decode(@file_get_contents($url));
var_dump(file_get_contents($url));


_____________
VPS от 5$, первые 2 месяца - бесплатно.
masterlelik
Hello

В этом случае выдает ворнинг

Warning: file_get_contents(https://api.vkontakte.ru/oauth/access_token?client_id=0000000&client_secret=ххххххххххххх&code=6f2ed40d6ab7432c5a) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /var/www/site.ru/page.php on line 65
bool(false)

Но опять же повторюсь, что если в переменных client_id и client_secret подставить значения приложения созданного год назад, то все ок.

_____________
masterlelik
Нашел ответ на эту задачу для новых приложений надо добавлять еще одну переменную

$url = "https://api.vkontakte.ru/oauth/access_token?client_id=".$vk_app_id."&client_secret=".$vk_app_shared_secret."&code=".$_REQUEST["code"]."&redirect_uri=".$redirect_uri;


Странно, конечно, когда тут играем, а тут нет. Т.е. для старых приложений не надо, а для новых надо.

_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.