Страница 1 из 1

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

Добавлено: 17 авг 2015, 07:06
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"}]}} 
И вопрос как получить токен пользователя для работы с ним с сервера?

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

Добавлено: 18 авг 2015, 00:14
alexandr_ratush
Вам же в ответе приходит описание ошибки: User authorization failed: access_token was given to another ip address..
И зачем вам вызывать методы АПИ со стороны сервера? К тому же некоторые методы открыты и их можно вызывать без использования токена.

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

Добавлено: 18 авг 2015, 07:15
accncc
Зачем срать в теме если нечего подсказать?

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

Добавлено: 18 авг 2015, 22:20
Alazaur
Потому что токен в адресе приложения выдан на IP человека, который открыл приложение (клиент). А вы хотите этот токен использовать с сервера, у сервера разумеется IP будет другой. Сначала с сервера делаете запрос за токеном ( https://vk.com/dev/secure_how_to ), а потом уже с полученным токеном все остальные.

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

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

А мне нужно сделать аутентификацию пользователя на сервере!

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

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