Содержание
Разнообразные мобильные приложения, написанные независимыми разработчиками, расширяют функционал сайта Вконтакте и предлагают пользователям новые возможности. Все эти программы нуждаются в аутентификации – подтверждении доступа к тем или иным ресурсам социальной сети. Поэтому в статье мы кратко расскажем о том, что такое токен ВК, зачем он используется и как его получить.
Что такое токен Вконтакте
Токен доступа, или как его часто называют в технической документации, assecc_token, это просто длинная текстовая строка, состоящая из латинских букв и цифр. Выглядеть она может примерно так (это только учебный пример из документации на сайте ВК):
- 51eff86578a3bbbcb5c7043a122a69fd04dca057ac821dd7afd7c2d8e35b60172d45a26599c08034cc40a
Токены необходимы для однозначной идентификации любых объектов, зарегистрированных в базе данных Вконтакте. Пользователю не нужно знать структуру этой базы, наименования полей или протоколы доступа. Сервер ВК сам предоставит всё, что нужно, распознав правильно сформированный токен. При этом в нём (в бессмысленной на первый взгляд строке символов) содержится вся необходимая информация о приложении, о сообществе или о пользователе, который запрашивает доступ и о правах, что ему предоставляются.
Механизм аутентификации на основе токенов универсальный и сквозной, то есть он действует и в браузерной версии Вконтакте, и в любых приложениях, подсоединяющихся к базе данных ВК.
Где взять access_token
Токены создаются по запросу на специальном сайте. Там на сегодняшний день нет никакого удобного интерфейса, вся работа происходит через строку браузера. Методы получения access_token разные для пользователей, приложений или сообществ. Наиболее простой способ известен как Implicit flow, он подразумевает как раз использование прямой ссылки на упомянутый сайт.
Вот, например, как можно получить token, если требуется предоставить доступ к базе данных ВК какому-либо внутреннему приложению (из тех, которые пользователи могут подключать к своим страницам).
Получение токена через собственное приложение
Сначала ваша программа должна быть зарегистрирована на сайте Вконтакте и иметь собственный ID. Как это сделать, читайте в официальной документации социальной сети, в разделе, посвящённом разработке.
Далее, для получения token доступа вам нужна вот такая строка:
https://oauth.vk.com/authorize?client_id=XXXXXXX&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token
Здесь вместо ХХХХХХХ требуется подставить client_id вашего приложения.
В параметре scope указаны права, которые требуется передать программе. Они в примере перечислены через запятую. Их может быть довольно много, все они перечислены на особой странице документации.
Вставьте этот запрос в адресную строку браузера и нажмите Enter. Вы увидите страницу, где нужно будет подтвердить права доступа. Здесь будет название приложения, описания запрашиваемых прав и фамилия владельца аккаунта.
Состав иконок, отображающих права, определяется параметром scope из переданной адресной строки.
После клика на кнопке «Разрешить» откроется страница, в адресной строке будет параметр access_token, который и требуется.
Получение токена через официальное приложение VK
Здесь всё то же самое, только получать client_id для программы уже не нужно, она давно зарегистрирована. Используйте такую строку:
https://oauth.vk.com/authorize?client_id=2890984&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token
Перед тем, как передать строку серверу, целесообразно отредактировать содержимое параметра scope в соответствии с вашими потребностями.
Здесь мы привели только общие сведения о том, что такое токен доступа ВК и как его получают. За более подробными сведениями нужно обращаться в справочный раздел для разработчиков на сайте социальной сети.