Описание

Этот способ может быть использован людьми, зарегистрированными в социальной сети Vkontakte. Логин в систему возможен благодаря oauth токену (token), сгенерированному Vkontakte. Используя токен, можно получить общую конфиденциальную информацию героя, сохранить её в базе данных. Если пользователь с электронной почтой уже зарегистрирован, то дополнительная запись не создаётся, но используется уже существующая.

Запрос (request)

Принимает следующие обязательные параметры:

  • method=vk
  • token
  • email

Ответ (response)

200 OK

Генерируется новый токен для авторизации, который возвращается в ответе.

Образец (example)

Запрос на получение токена:

https://oauth.vk.com/authorize?client_id=4928276&redirect_uri=http://www.soopahero.com&response_type=token&v=5.33&scope=email,friends

Здесь важно, что указан response_type=token, чтобы в перенаправляющей ссылке присутствовал token. Значение параметра redirect_uri было выбрано непроизвольно. Оно, как и значение параметра client_id=4928276, соответствует приложению soopahero. Но в перенаправляющей ссылке определяющим является значение параметра token, которое мы и передаём в запросе.

Чтобы получить токен по этой ссылке необходимо быть зарегистрированным и авторизованным пользователем в социальной сети Vkontakte.

В перенаправляющей ссылке можно видеть не только параметр token, но и параметр email, который необходим и используется при логине.

Запрос на получение данных пользователя, используя полученный токен:

https://api.vk.com/method/users.get?fields=sex,bdate,city,country,maiden_name,email,personal&access_token=f95f085e17c37705dd19c88caf67aad243cae539d70fe35e384964f547f725899ecd814db1aad75b1394a

Как видно, мы можем извлечь имя, фамилию, пол героя, день рождения, город, страну, псевдоним, электронную почту, язык

Если задан псевдоним (maiden_name), то герою присваивается прозвище={maiden_name}.

Образец тела запроса:

{"token":"f95f085e17c37705dd19c88caf67aad243cae539d70fe35e384964f547f725899ecd814db1aad75b1394a", "password":"password", "email":"madara@soopahero.com", "method":"vk"}