Задать вопрос

VK API — как проверить на стороне сервера access_token-а, полученного из standalone/mobile приложения?

Схема такая:
1. пользователь логинится в мобильном приложении через vk
2. получает access_token
3. передаёт его на сервер
4. на сервере происходит проверка этого access_token-а и получение id пользователя, соответствующего данному access_token (в FB аналог https://graph.facebook.com/me?access_token=...)
5. сервер автоматически регистрирует/логинит пользователя

Я пытаюсь использовать метод secure.checkToken:
1. vk.com/dev/auth_server - тут я получил access_token
2. делаю такой запрос:
https://api.vk.com/method/secure.checkToken?token=<user_access_token>&client_secret=<app_secret>&access_token=<access_token>

в ответ получаю:
{"error":{
     "error_code":15,"error_msg":"Access denied: Incorrect token sig_param",
     "request_params":[
          {"key":"oauth","value":"1"},
          {"key":"method","value":"secure.checkToken"},
          {"key":"token","value":"<user_access_token>"},
          {"key":"client_secret","value":"<app_secret>"},
          {"key":"access_token","value":"<access_token>"}
     ]
}}
  • Вопрос задан
  • 21193 просмотра
Подписаться 14 Сложный 2 комментария
Решение пользователя Дмитрий Сикорский К ответам на вопрос (7)
В общем помучался пару часов и удалось решить путем добавления "offline" в scope. Привязка по IP не работает в таком случае.
Ответ написан