Oauth vk com что это за сайт

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

Одна из наиболее популярных социальных сетей — ВКонтакте. И мы расскажем как провести авторизацию ВКонтакте через OAuth.

OAuth – это открытый протокол, который используется для авторизации пользователей на сторонних сайтах через социальные сети. OAuth позволяет предоставить доступ к определенным данным пользователя, такие как: имя, фамилия, электронная почта, фотографии и многое другое.

Для начала работы нам нужно зарегистрировать приложение в ВКонтакте. Для этого перейдем по следующей ссылке https://vk.com/apps?act=manage. И нажмем на кнопку «Создать приложение».

Далее, заполняем форму регистрации.

В поле «Платформы» выбираем «Веб-сайт».

Что такое OAuth 2.0 и OpenID Connect за 15 минут

После этого, переходим на закладку «Настройки». Здесь мы видим необходимые данные для авторизации.

access_token — это ключ доступа, необходимый для работы с API ВКонтакте. Мы получим его после прохождения процедуры авторизации.

client_id — это идентификатор приложения ВКонтакте, в котором мы зарегистрировались.

scope — это список прав доступа, которые мы запрашиваем у пользователя при авторизации.

secret_key — это секретный ключ приложения ВКонтакте, который необходим для создания подписи.

redirect_uri — это URL-адрес, на который пользователь будет перенаправлен после успешной авторизации.

Далее, необходимо подготовить страницу, на которой будет размещена кнопка для авторизации через ВКонтакте.

Еще по теме:  Как убрать в ВК список контактов в сообщениях на телефоне

HTML-код для кнопки можно получить с помощью следующего кода:

Вставляем этот код на страницу и продолжаем разработку на серверной стороне.

Для регистрации кода доступа (access token) необходимо отправить запрос на сервер ВКонтакте. Для этого нужно использовать следующий URL:

https://oauth.vk.com/access_token?client_id=redirect_uri= ‘client_id’: , ‘client_secret’: », ‘redirect_uri’: », ‘code’: » > response = requests.get(url, params=params) print(response.json())

В результате выполнения кода мы получим объект JSON с полями access_token, user_id и другими.

Для запросов к API ВКонтакте необходимо создать объект vk с помощью библиотеки vk_api:

import vk_api vk_session = vk_api.VkApi(token=») vk = vk_session.get_api() user = vk.users.get()[0] print(user[‘first_name’], user[‘last_name’])

В примере мы получаем имя и фамилию текущего пользователя и выводим их на экран.

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

Как работает OAuth 2 — введение (просто и понятно)

Похожие записи:

  1. OAuth 2.0 авторизация в JavaScript
  2. Аутентификация и авторизация на PHP (OAuth, JWT)
  3. Использование OAuth и OpenID в PHP: авторизация через социальные сети.
  4. OAuth: авторизация через социальные сети на Ruby
  5. OAuth 2.0: авторизация через соцсети на Ruby.

Источник: qaa-engineer.ru

Принцип работы Oauth2

Теперь вопросы которые возникли у меня, кроме главного (правильно ли я вообще понимаю).

  1. Если перехватить токен, то можно использовать его как тот же пароль. В чем тогда преимущество? Можно ограничить ресурсы разными токенами? Он временный и через некоторое время уже будет недействительным, но если злоумышленник успеет сделать что-то раньше ?
  2. То есть передавать токен как и пароль нужно в пост запросе по HTTPS протоколу, чтобы защищать его как тот же пароль?
  3. Если я использую токен от Вконтакте как авторизацию на своем сайте, то каким образом поучать новый токен по истечению срока действия старого, заново запрашивать » Вы разрешаете приложению . » через oauth сервер. Такого не встречал на сайтах, обычно один раз разрешил и все.
  4. Данные способ авторизации удобен когда у пользователя есть какой-то глобальный аккаунт на доверенном сервере.Если же нужна авторизация на своем сервере только и без сторонних oauth серверов, следует использовать похожий принцип просто, при первой авторизации один раз передавать логин и пароль по HTTPS и получать токен уже непосредственно у сервера. Допустим интернет магазин и клиент Android.Первый раз логин и пароль, в ответ прилетает токен и доступ к API производить уже передавая этот токен.
  5. Регистрация приложения является дополнительным уровнем безопасности, то есть чтобы не все могли попросить пользователя разрешить им доступ и получить токен.
  6. Если приложение допускает авторизацию, как прямо на самом сервер (интернет магазин) так и через OAuth (вконтакте), то кто должен контроллировать время жизни токена во втором случае. В первом случае мы работаем непосредственно с нашими сервером(интернет магазин), а во втором случае мы передаем и используем токен полученный от внешнего сервера OAuth (vkontakte) каким образом нам нужно обновлять токен, просить об этом у oauth.vk.com или нам в данном Вконтакте больше не нужен, после выдачи первого токена и теперь сами на стороне сервера интернет магазина генеируем новые токены ?
Еще по теме:  Как пригласить в сообщество Вконтакте

Всем спасибо, кто дочитал это.

Скажите, правильно ли я вообще понимаю принцип работы? Если нет, то скажите пожалуйста где и что не так.

Источник: ru.stackoverflow.com

OAuth Vk.com: что это такое, как убрать

VK требует, чтобы в запросе Access-токена Сlient Сredentials передавались не в Basic Auth в заголовке Authorization (как у большинства провайдеров), а в теле запроса. Но перенести Сlient Сredentials в тело запроса просто — настройкой в application.properties:

То есть поведение по умолчанию было таким:

Будет не так

А будет другим — Client Credentials уйдут в тело запроса.

В ответе отсутствует token_type: Bearer

Запрос изменили, но с ответом тоже не все ладно. В ответном JSON отсутствует пункт «token_type»:»Bearer»:

А Spring ожидает, что token_type должен быть непустым и выбрасывает исключение. Поэтому ниже мы модифицируем ответ с помощью CustomTokenResponseConverter.

После успешного получения Access Token-а по протоколу OpenID идет обращение за данными авторизовавшегося пользователя. Это конечная точка Userinfo провайдера. Тут ответ тоже нестандартный.

VK возвращает по адресу Userinfo ответ в обертке

Обычно в ответе сразу перечисляются атрибуты пользователя, но не в VK. Здесь ответ приходит обернутым в response и еще в массив:

Рейтинг
( Пока оценок нет )
Загрузка ...