access token что это такое
Получение ключа доступа (access_token) для API «ВКонтакте»
«Access_token» – это некий уникальный ключ доступа к API социальной сети «ВКонтакте». Мы с вами уже затрагивали тему взаимодействия с этой социальной сетью, и там мы получали информацию из профиля пользователя без каких либо подтверждений.
Используя уникальный ключ, наши разработки получают больше прав, а именно – с помощью созданных приложений, при использовании токена, мы можем постить сообщения на стену «ВКонтакте», отправлять личные сообщения, загружать фотографии и делать много других интересных штук, о которых, я думаю, мы с удовольствием поговорим более подробно в отдельных статьях.
Но, прежде чем приступить к разработке своих приложений, необходимо получить этот уникальный ключ. Тому, как это правильно сделать, и будет посвящена эта статья.
1. Перейдите по этой ссылке. Если вы не авторизованы в «ВКонтакте» – авторизуйтесь, если уже авторизованы – то перед вами откроется форма для создания приложения:
Заполняем название приложения, при этом обязательно выбираем тип приложения «Standalone-приложение» и нажимаем «Подключить приложение».
После этого вам будет предложено подтвердить создание приложения. Подтверждаете, и переходите к следующему шагу.
2. На открывшейся странице приложения нажимаем «Настройки», затем копируем ID приложения:
и вставляем его в следующую ссылку:
Где «XXXXXXX» – ID вашего приложения.
3. Копируем полученную ссылку и открываем ее в браузере. Перед вами открывается окно с подтверждением доступа:
Просматриваете его, и если все так – нажимаете «Разрешить».
4. На следующей странице, где написано «Пожалуйста, не копируйте данные из адресной строки для сторонних сайтов. Таким образом Вы можете потерять доступ к Вашему аккаунту» копируете ссылку, она у вас будет вида:
и является вашим уникальным ключом, который вы копируете и используете в своих целях.
Обратите внимание, что данный ключ – это лишь пример, и он не является рабочим. Ваш же ключ не рекомендуем передавать третьим лицам во избежание взлома страницы и других неприятных ситуаций.
Токен авторизации на примере JSON WEB Token
Введение
Начнем с того, что важно уметь различать следующие два понятия: аутентификации и авторизации. Именно с помощью этих терминов почти все клиент-серверные приложения основывают разделение прав доступа в своих сервисах.
Еще одно небольшое введение
Формальное определение
Приступим наконец к работе самого токена. Как я сказал ранее в качестве токенов наиболее часто рассматривают JSON Web Tokens (JWT) и хотя реализации бывают разные, но токены JWT превратились в некий стандарт, именно поэтому будем рассматривать именно на его примере.
JSON Web Token (JWT) — это открытый стандарт (RFC 7519) для создания токенов доступа, основанный на формате JSON.
Фактически это просто строка символов (закодированная и подписанная определенными алгоритмами) с некоторой структурой, содержащая полезные данные пользователя, например ID, имя, уровень доступа и так далее. И эта строчка передается клиентом приложению при каждом запросе, когда есть необходимость идентифицировать и понять кто прислал этот запрос.
Принцип работы
Рассмотрим принцип работы клиент серверных приложений, работающих с помощью JWT. Первым делом пользователь проходит аутентификацию, конечно же если не делал этого ранее и в этом есть необходимость, а именно, например, вводит свой логин и пароль. Далее приложение выдаст ему 2 токена: access token и refresh token (для чего нужен второй мы обсудим ниже, сейчас речь идет именно об access token). Пользователь тем или иным способом сохраняет его себе, например, в локальном хранилище или в хранилище сессий. Затем, когда пользователь делает запрос к API приложения он добавляет полученный ранее access token. И наконец наше приложение, получив данный запрос с токеном, проверяет что данный токен действительный (об этой проверке, опять же, ниже), вычитывает полезные данные, которые помогут идентифицировать пользователя и проверить, что он имеет право на запрашиваемые ресурсы. Таким нехитрым образом происходит основная логика работы с JSON Web Tokens.

Структура токена
Пришло время обсудить структуру токена и тем самым лучше разобраться в его работе. Первое что следует отметить, что JWT токен состоит из трех частей, разделенных через точку:
Полезные данные (playload)

Рассмотрим каждую часть по подробнее.
Заголовок
Это первая часть токена. Она служит прежде всего для хранения информации о токене, которая должна рассказать о том, как нам прочитать дальнейшие данные, передаваемые JWT. Заголовок представлен в виде JSON объекта, закодированного в Base64-URL Например:
Если раскодировать данную строку получим:
Полезные данные
Что в JSON формате представляет собой:
Именно здесь хранится вся полезная информация. Для данной части нет обязательных полей, из наиболее часто встречаемых можно отметить следующие:
Одной из самых важных характеристик любого токена является время его жизни, которое может быть задано полем exp. По нему происходит проверка, актуален ли токен еще (что происходит, когда токен перестает быть актуальным можно узнать ниже). Как я уже упоминал, токен может помочь с проблемой авторизации, именно в полезных данных мы можем добавить свои поля, которые будут отражать возможности взаимодействия пользователя с нашим приложением. Например, мы можем добавить поле is_admin или же is_preferUser, где можем указать имеет ли пользователь права на те или иные действия, и при каждом новом запросе с легкостью проверять, не противоречат ли запрашиваемые действия с разрешенными. Ну а что же делать, если попробовать изменить токен и указать, например, что мы являемся администраторами, хотя таковыми никогда не были. Здесь мы плавно можем перейти к третьей и заключительной части нашего JWT.
Подпись
Время жизни токена и Refresh Token
Заключение
В данной статье я постарался подробно рассмотреть работу клиент-серверных приложений с токеном доступа, а конкретно на примере JSON Web Token (JWT). Еще раз хочется отметить с какой сравнительной легкостью, но в тоже время хорошей надежностью, токен позволяет решать проблемы аутентификации и авторизации, что и сделало его таким популярным. Спасибо за уделенное время.
Что такое токен вк
Мы ответим на вопрос почему ваш токен нужно хранить в секрете, какую информацию он содержит и можно ли зная чужой токен в вк взломать страницу.
Если вам понравится наша статья поддержите ее любым комментарием мы будем вам очень признательны.
Что такое «токен» ВК?
Вконтакте – одна из самых популярных и востребованных социальных сетей не только в России, но и во многих странах СНГ. Каждый раз, когда человек пишет кому-то сообщение, отправляет запрос в друзья, добавляет пользователя в «Чёрный список» и т.д. – всё это сохраняется в API.
access_token или же просто токен в ВКонтакте — это универсальный ключ доступа для связи api сервисов ВК со сторонними сайтами и приложениями, выглядит он как набор латинских букв и цифр.
А говоря простым русским языком, то «токен» — это строка, состоящая не только из цифр, но и латинских букв, которая передаётся вместе с вашим запросом на то или иное действие. Это своего рода, подпись пользователя.
Какие бывают токены в вк и как их класифицируют?
Как вы и поняли, «токен» — это ключ доступа. Каждый раз, когда вы выполняйте какое-либо действие, то на сервис отправляется запрос, который состоит из цифр и латинских букв. После этого, сервис понимает, что от него требуется. Существуют три вида ключа доступа:
Более подробно хочется поговорить о «токене» пользователя, когда он заходит в одно из приложений. Допустим, у вас есть на мобильном устройстве специальная программа, но зайти в неё можно только, если человек прошёл авторизацию через социальную сеть Вконтакте.
Отправляя запрос на сайт, перед пользователем появляется специальное окно с пунктами, в котором говорится о том, что, дав разрешение программе будут доступны некоторые возможности вашей страницы.
После того, как вы решили дать доступ приложения к своей странице, вам нужно просто кликнуть по блоку «Разрешить». После чего, вы без каких-либо проблем войдите в саму программу и будете ею пользоваться.
Для чего нужен токен, какую информацию содержит.
Что такое ключ доступа токен вы уже поняли давайте с вами рассмотрим какую же информацию хранит этот секретный набор символов и для чего он все таки нужен
Token универсальный ключ который хранит в себе краткую информацию о вашей странице (имя фамилию статус, группы, кол-во друзей, ваш плейлист и тд)
Для чего же необходим этот ключ:
Как получить access_token ВКонтакте.
Получить и узнать свой токен в вконтакте довольно просто достаточно следовать простой инструкции ниже:
Берем код и копируем его в адресную строку:
https://oauth.vk.com/authorize?client_id= 12345 &scope=photos,audio,video,docs,notes,pages,status,offers,questions,wall,groups,email,notifications,stats,ads,offline,docs,pages,stats,notifications&response_type=token
Где вместо 12345 вам необходимо вписать свой id
После этого у вас появится вот так:
Можно ли зная чужой токен в вк взломать страницу
Это довольно серьезная тема для обсуждения и многие из вас гуглят и спрашивают на форумах как можно взломать и получить доступ к чужой странице. Можно ли вообще это сделать?
Да можно! Но вы получите доступ к ограниченому набору функционала.
Это далеко не полный список что вы можете сделать, но читать чужую переписку через токен другого пользователя у вас не получится.
Как же это сделать?:
К сожалению это уже уголовно наказуемое действие и мы не можем разместить информацию такого рода на сайте. Однако спешим вас предупредить что 90% из программ и сайтов которые предлагают вам такой функционал и возможность содержат вирусы или являются фишингом. Будьте осторожно, мы вас предупреждали!
Мы надеемся вам понравилась наша статья
Здравствуйте дорогие гости моего сайта. Меня зовут Александра, мой ник Freo 🙂 и я являюсь автором данного сайта. Здесь, на страницах этого сайта, стараюсь рассказать вам о том, как можно решить проблемы, которые у вас могут возникнуть при использовании той или иной социальной сети.
Как работает OAuth 2.0 и OpenID Connect
Разбираемся, как работает протокол OAuth 2.0 и OpenID Connect. Почему Authorization Code Grand лучший способ получения access token.
Если коротко OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.
В этой статье рассмотрим историю возникновения и схему работы. Разберемся в чем отличие OAuth 2.0 от OpenID Connect и что такое SSO.
История возникновения OAuth
Авторизацией через социальные сети никого уже не удивишь. Нажимаешь кнопку соц сети, вжух и ты авторизовался на новом сайте. Сайт получил твоё ФИО, фотку и прочие данные. Но так было не всегда.
В «каменном веке» интернета все было проще. Вы просто давали свой логин и пароль от одного сервиса другому, чтобы тот вошел в вашу учетную запись и получил любую необходимую ему информацию.
На заре становления Facebook просил у пользователей логин и пароль от Gmail аккаунта, чтобы отправить контактам приглашение. Такой подход имеет большую проблему: логин и пароль дают полный доступ к сервису. Поэтому был разработан стандарт OAuth.
С помощью этого стандарта вы позволяете приложению считать данные или использовать функции другого приложения от вашего имени, не сообщая ему свой пароль. Класс!
OAuth 1.0 не используется. Забудьте о нем. Используйте OAuth 2.0
Главным недостатком OAuth 1.0 была слишком большая сложность данной версии.
Начнем разбор OAuth 2.0 с ролей. Всего есть 4 роли:
Далее мы рассмотрим каждую из ролей.
Владелец ресурса
Ресурсом являются данные, например ФИО, фотография, ваши сообщения в соц сетях, и прочее. Владелец ресурса это пользователь. При межсерверном общении владельцем ресурса может быть один из серверов.
Сервер ресурсов
На сервере ресурсов лежат ваши данные. В случае с примером выше ваши контакты Gmail это ресурс, а лежат они на серверах Gmail.
Клиент
Клиент это сервис, которому требуется доступ к вашим ресурсам. Например, Facebook требуется доступ к контактам Gmail.
Авторизационный сервер
В данном примере он принадлежит Google, так как он хранит ваши данные.
Стандарт не запрещает вам объединить Сервер ресурсов и Авторизационный сервер
Базовая схема протокола
OAuth 2.0 основан на использовании базовых веб-технологий: HTTP-запросах, редиректах и т. п. Поэтому использование OAuth возможно на любой платформе с доступом к интернету и браузеру: на сайтах, в мобильных и desktop-приложениях, плагинах для браузеров.
Вернемся к нашему примеру про Facebook и Gmail. На анимации ниже, я постарался схематично изобразить, как реализовать этот пример правильно с помощью Oauth2. Стоит учитывать, что у Google есть свой сервер авторизации, который отвечает за авторизацию на любом сервисе Google. Поэтому Gmail только хранит ресурсы, но не отвечает за авторизацию.
Это строка, которая является альтернативой логину и паролю.
Особенности Access Token:
Помимо access_token Авторизационный сервер может выдавать также refresh_token. Это токен, который позволяет запросить новый access_token без участия Владельца ресурсов. Время жизни у такого токена намного больше access_token и его потеря гораздо серьезнее.
Вернемся к базовой схеме. Авторизационный сервер должен знать про каждого клиента, который делает к нему запрос. То есть, каждый клиент должен быть зарегистрирован. Зарегистрировав клиента мы получаем client_id и client_secret и обязаны передавать, как минимум client_id в каждом запросе.
Существует возможность регистрировать клиентов динамически: RFC 7591 и RFC 7592.
Способы получения Access Token
Всего есть 4 способа:
Client Credentials
Начнем разбор с самой простой схемы. Этот способ придуман для межсерверного взаимодействия. У нас есть два сервера API1 и API2, и им надо как-то общаться.
3. API 1 обращается к API 2.
4. API 2 получает запрос с access_token и обращается к авторизационному серверу для проверки действительности переданного токена (RFC 7662).
Resource Owner Password Credential
Эта схема не рекомендуется к использованию! В стандарте так и написано, если вы никакие другие схемы не можете сделать, то используйте эту.
Authorization Code Grand
Является одним из наиболее распространённых типов разрешения, поскольку он хорошо подходит для серверных приложений, где исходный код приложения и секрет клиента не доступны посторонним.
Этот способ рекомендуемый. Используйте его, и только если это невозможно, посмотрите на другие способы. Исключением является межсерверное общение.
Пример авторизационного запроса
В настройках Авторизационного сервера можно настроить url адреса, на которые разрешен редирект.
Так как code попадает в браузер и ничем не защищен, то это точка уязвимости. Поэтому на авторизационный код накладываются следующие ограничения:
5. Теперь, когда у вас есть код авторизации, вы должны обменять его на токены. Используя извлеченный код авторизации из предыдущего шага, вам нужно будет выполнить POST на URL-адрес токена.
7. Чтобы вызвать ваш API из обычного веб-приложения, приложение должно передать полученный токен доступа в заголовке авторизации вашего HTTP-запроса.
Implicit Grant
Так как access_token попадает в браузер, то существует возможность его достать.
OpenID Connect
OAuth 2.0 разработан только для авторизации — для предоставления доступа к данным и функциям от одного приложения другому. OpenID Connect (OIDC) — это тонкий слой поверх OAuth 2.0, добавляющий сведения о логине и профиле пользователя, который вошел в учетную запись.
OpenID Connect позволяет реализовывать сценарии, когда единственный логин можно использовать во множестве приложений, — этот подход также известен как single sign-on (SSO)
Заключение
Подведем итог. OAuth 2.0 это простой протокол авторизации, основанный на HTTP, что дает возможность применять его практически на любой платформе. Он имеет хорошую документацию, и большинство крупных площадок его поддерживают. Так что если вы решили использовать этот протокол в своем проекте — это хороший выбор.
Как получить токен Вконтакте
При разработке приложений связанных с работой API Вконтакте возникает необходимость получить ключ доступа пользователя (access_token). Для этой цели я использую проверенный временем способ, а именно получение токена через ссылку авторизации в приложении Вконтакте на Android.
Зачем нужен токен Вконтакте
access_token – это специальный ключ доступа, который работает на базе протокола авторизации OAuth 2.0 и генерируется с помощью логина и пароля пользователя. В отдельных случаях токен генерируется прямо в интерфейсе социальной сети, например для получения доступа к приложению или сообществу.
С помощью токена (access_token) вы можете использовать практически весь функционал социальной сети Вконтакте. Узнать полный список методов для работы с API Вконтакте вы можете по ссылке: https://vk.com/dev/methods
Существует несколько типов токенов:
Как получить ключ доступа пользователя
Мы рассмотрим два способа получения токена (access_token) пользователя:
Получение ключа доступа пользователя с помощью логина и пароля:
Данный набор букв и цифр это и есть ваш ключ доступа пользователя (access_token).
Получение ключа доступа пользователя с помощью логина, пароля и двухфакторной авторизации:
Данный набор букв и цифр это и есть ваш ключ доступа пользователя (access_token).
Как получить ключ доступа сообщества
* Для работы с Callback API и Long Poll API используйте полученный ранее токен сообщества.
Как получить ключ доступа приложения
Мы рассмотрели самые популярные способы получения токена (access_token) для работы с API Вконтакте.
Если у вас возникнут трудности при получении токена для работы с API Вконтакте, пишите в комментариях или мне в телеграм.







