получить access_token пользователя для сервер

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Ответить
accncc
Сообщения: 4
Зарегистрирован: 23 мар 2015, 03:32

получить access_token пользователя для сервер

Сообщение accncc »

Не могу понять как получить access_token пользователя для сервер!

Создал приложения в ВК и при загрузке получаю данные:

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

 http://мой сайт ру/social_api/index.html?api_url=http://api.vk.com/api.php&api_id=4656995&api_settings=9255&viewer_id=18601455&viewer_type=2&sid=39d0333ffdc54596841e8a0141ec04cf6bddfdcc9dace6b5f646f112d96049ab45e087f08cdecbecf0efd&secret=b443998c65&access_token=32cc547e6e8f0ed1225e0beda38f63705a300fad9fe8541e7b8d25ea955b1497168c53b83737e703dbc2be2&user_id=18601455&group_id=0&is_app_user=1&auth_key=deac02f02ea4d9e2556f5d3ae1394420&language=0&parent_language=0&ad_info=ElsdCQBUR1VlAQFeAwJSXHt5BkQ8HTJXUVBBJRVBNwoIFjI2HA8E&is_secure=0&ads_app_id=4656995_d1ff23be7203289290&referrer=user_apps&lc_name=19950c48&hash= 
тут есть токен:32cc547e6e8f0ed1225e0beda38f63705a300fad9fe8541e7b8d25ea955b1497168c53b83737e703dbc2be2
ид пользователя 18601455

с этим токеном я могу послать запрос из браузера и получить верный ответ от сервера ВК
Пример:

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

 api.vk.com/method/friends.get?uid=18601455&access_token=32cc547e6e8f0ed1225e0beda38f63705a300fad9fe8541e7b8d25ea955b1497168c53b83737e703dbc2be2 
НО! если запрос делать с сервера то получим ошибку:

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

 {"error":{"error_code":5,"error_msg":"User authorization failed: access_token was given to another ip address.","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"users.get"}]}} 
И вопрос как получить токен пользователя для работы с ним с сервера?
Аватара пользователя
alexandr_ratush
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47
Откуда: Ukraine

Re: получить access_token пользователя для сервер

Сообщение alexandr_ratush »

Вам же в ответе приходит описание ошибки: User authorization failed: access_token was given to another ip address..
И зачем вам вызывать методы АПИ со стороны сервера? К тому же некоторые методы открыты и их можно вызывать без использования токена.
accncc
Сообщения: 4
Зарегистрирован: 23 мар 2015, 03:32

Re: получить access_token пользователя для сервер

Сообщение accncc »

Зачем срать в теме если нечего подсказать?
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: получить access_token пользователя для сервер

Сообщение Alazaur »

Потому что токен в адресе приложения выдан на IP человека, который открыл приложение (клиент). А вы хотите этот токен использовать с сервера, у сервера разумеется IP будет другой. Сначала с сервера делаете запрос за токеном ( https://vk.com/dev/secure_how_to ), а потом уже с полученным токеном все остальные.
accncc
Сообщения: 4
Зарегистрирован: 23 мар 2015, 03:32

Re: получить access_token пользователя для сервер

Сообщение accncc »

( https://vk.com/dev/secure_how_to )
Для доступа к административным методам API, не требующим аутентификации пользователя

А мне нужно сделать аутентификацию пользователя на сервере!
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: получить access_token пользователя для сервер

Сообщение Alazaur »

Блин я вам сказал смысл почему токен не будет работать на сервере, потому что он выдан клиенту а не серверу. При чем тут то что вам нужна авторизация пользователя на сервере.
Между прочим в документации это двумя ссылками выше https://vk.com/dev/auth_sites для авторизации сайтов и сторонних приложений.
А если вы внутреннее флеш или ифрейм приложение хотите таким боком авторизовать, то у вас явно что-то не так с архитектурой. Оно и так внутри контакта и ему абсолютно незачем авторизовывать юзера через сервер.
Ответить