Vkontakte.ru OAUTH 2 Авторизация

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Ответить
montegava
Сообщения: 3
Зарегистрирован: 11 май 2011, 11:55

Vkontakte.ru OAUTH 2 Авторизация

Сообщение montegava »

Доброго времени суток, уважаемые форумчане.

Недавно задался вопросом написать приложение для соц.сети ВКонтакте, используя его API

Нашел статью на хабре, как это все "легко" делается. Кроме того почитал спецификацию на самом контакте.

Что я сделал:
1. СоздалStandalone-приложение
2. В итого получил id и другие параметры для моего приложения см. фото
3. Добавил на форму WebBrowser (пишу на C#)
4. По кнопке "Авторизоваться" — делаю навигейт на страницу http://api.vkontakte.ru/oauth/authorize ... type=token
5. Ввожу логин и пароль, но по кнопке ввойти никакого редиректа не происходит, соответсвенно access_token я не могу получить.

Если вставить эту ссылку в браузер - то ситуация повторится

Вопрос: что я делаю не так? Может кто сталкивался с этим?
Заранее спасибо за ответ.
meandnano
Сообщения: 3
Зарегистрирован: 11 май 2011, 13:06

Re: Vkontakte.ru OAUTH 2 Авторизация

Сообщение meandnano »

redurect_uri у вас ведет на пустую страницу.
вам надо вам надо указать другой адрес, по которому вы и будете отлавливать access_token.
montegava
Сообщения: 3
Зарегистрирован: 11 май 2011, 11:55

Re: Vkontakte.ru OAUTH 2 Авторизация

Сообщение montegava »

хм, но вот цитата с сайта вконтакте
REDIRECT_URI – адрес, на который будет передан access_token. Если Вы разрабатываете браузерное Javascript-приложение, то можно указывать любую ссылку в рамках домена, указанного в настройках приложения. Во всех остальных случаях в качестве redirect_uri нужно использовать адрес http://api.vkontakte.ru/blank.html.
meandnano
Сообщения: 3
Зарегистрирован: 11 май 2011, 13:06

Re: Vkontakte.ru OAUTH 2 Авторизация

Сообщение meandnano »

Очевидно, в этих "остальных" случаях access_token не нужен.
А если вам он нужен, то более того, вам надо сделать следующее:
4. По кнопке "Авторизоваться" — делаю навигейт на страницу http://api.vkontakte.ru/oauth/authorize ... type=token
заменить type на "code", т.к. токен придет в вашем случае только в виде "якоря" (фрагмента), который (во всяком случае на php) не так то просто из ссылки вытащить.
Но истинный способ получения access_token'а заключается в том, чтобы сделать еще один запрос после авторизации по адресу

Код: Выделить всё

 https://api.vk.com/oauth/access_token
(я делал POST, т.к. GET не сработал), в который помимо ID приложения параметрами надо передать секретный ключ приложения и тот самый код ("code"), который вернется в ответе на авторизацию. Тогда вы получите в аккурат access_token.
montegava
Сообщения: 3
Зарегистрирован: 11 май 2011, 11:55

Re: Vkontakte.ru OAUTH 2 Авторизация

Сообщение montegava »

спасибо. все заработало. Закрываем тему
Ответить