VK API, можно ли получить access_token на андроиде, а потом передать его на бекенд и там использовать?

Telegram dou#techПідписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Собственно сабж. Есть веб-сервис и андроид клиент. Нужно сделать возможность входа через VK и нет опыта работы с этим сервисом(даже личного акк там нету). На андроиде залогинится п получить access_token не проблема, передать его на сервер тоже легко. Но что дальше?
Как узнать что этот тукен валидный и как узнать пользователя для которого он получен?
Разрешена ли подобная схема работы с ВК (офицально)?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Да, так можно делать. Но учтите, у access_token есть привязка к IP, поэтому часть функционала на сервере отвалится: audio & video.
Насколько я помню, определить userId по access_token нельзя (в отличии от Facebook). Но ВК передает его при логине.
vk.com/...dev/auth_mobile

Вот как работать с API:
vk.com/...ev/api_requests
Список функций которые можно вызвывать с клиента и сервера (не путать с серверным API):
vk.com/dev/methods
Еще информация на эту тему:
vk.com/dev/sites

Если у VK обычный oAuth — то скорее всего можно. В одном проекте мы так делали — вся аутентификация в социальной сети происходила на стороне клиента (iOS), после чего на сервер передаются oAuth token и oAuth token secret (обычно), и сервер использует их для дальнейших запросов (например, чтение профиля пользователя из данной социальной сети). Такое работало для Facebook, Twitter, Instagram, Flickr и Google+, так что, думаю, и для VK прокатит. Узнать же, что токен валиданый, элементарно — просто попробовать считать профиль пользователя с данным токеном.

Конечно, oAuth tokens рекомендуется защитить каким-то образом от перехвата (шифрованием, например).

как раз по аналогии фейсбуком этот подход и описан :) Вопрос только в том, нет ли ВК специфик подводных камней(опыта работы с ВК нет). Например сделаю я так, а потом мне апп заблокируют. На стековерфлоу такое не спросиш, а тут сначала ответили так, как будто не поняли о чем я спрашиваю :(

Oauth.Net, нужно зарегистрировать свое приложение и указать какие данные хотите получать от сервера аутентификаиции и по этому токену, по согласию пользователя, вконтакте вам вернет эти данные. vk.com/...ev/openapi_auth

Підписатись на коментарі