Oauth vk com что это такое

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

скачать исходникискачать урок

Введение

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

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

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

Теперь, так как мы будем работать непосредственно с социальной сетью, наш скрипт должен располагаться на реальном сервере. Так как будет проходить постоянный обмен данными между нашим скриптом и сервисом ВКонтакте. При этом на локальном компьютере (к примеру Denwer) скрипт работать не будет.

Для удобства работы с удаленным сервером, мы будем использовать текстовый редактор Notepad++, который содержит встроенный плагин по работе с протоколом FTP. Используя который, мы можем открывать и редактировать файлы скрипта непосредственно на удаленном сервере. Для этого запускаем текстовый редактор открываем меню Plugins, далее NppFTP и активируем Show NppFTP Window. При этом будет открыто окно для обзора файлов и папок удаленных серверов. В данном окне необходимо открыть настройки (кнопка Settings), а именно настройки профиля (Profile Settings) и добавить новый профиль для соединения с ftp сервером (при этом необходимо указать настройки подключения).

Затем, кликнув по кнопке Connect выполняем соединение через FTP:

Для добавления новых файлов, достаточно правой кнопкой кликнуть по соответствующей папке и выбрать Create new file. Открыть соответствующий файл можно двойным щелчком мыши.

Создание приложения в контакте

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

Итак, создаем приложение, для этого переходим по ссылке //vk.com/editapp?act=create:

Вводим название приложения и отмечаем галочкой пункт веб-сайт, вводим путь к сайту и его базовый домен (путь к сайту может содержать домен и папку в которой расположен сайт или тестовый скрипт) и нажимаем “Подключить приложение”.

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

Далее необходимо подтвердить создание приложение путем ввода специального кода который придет на Ваш мобильный телефон. После этого Ваше приложение создано.

Далее переходим на вкладку настойки и копируем идентификатор приложения и его секретный ключ, которые понадобятся далее. ВАЖНО: ни кому не сообщайте идентификатор приложения и его секретный ключ и не выкладывайте их в открытый доступ, так как они могут быть использованы злоумышленниками.

Еще хотел бы обратить Ваше внимание на следующую страницу: //vk.com/developers.php?oid=-1https://webformyself.com/avtorizaciya-cherez-socialnye-seti-vkontakte/» target=»_blank»]webformyself.com[/mask_link]

OAuth регистрация и авторизация Вконтакте на PHP

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

Стоит заметить, что по сравнению со стандартной регистрацией пользователей с применением логинов и паролей, а также необходимостью подтверждения email адресов — авторизация через OAuth работает намного проще и требует от пользователей меньше действий, что позволяет значительно ускорить процесс регистрации и авторизации.

В данной статье рассмотрим авторизацию на сайте через социальную сеть Вконтакте vk.com. Авторизация будет работать, даже если на вашем сайте не установлен SSL сертификат, что позволит использовать OAuth социальной сети на любом сайте.

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

В качестве примера создадим приложение для сайта info-less.ru. Заполняем поля:

Нажимаем «Подключить сайт». Далее подтверждаем действие с помощью кода, который придет на смс мобильного телефона. После успешного подтверждения будет создано приложение. В разделе «Информация» загружаем иконку и обложку нашего сайта:


Затем переходим в раздел «Настройки». Проверяем значения некоторых полей:
Первый запрос к API: Оставляем пустым
Состояние: Приложение включено и видно всем
Установка приложения: Не требуется
Open API: Включён

Сохраняем настройки. Для дальнейшей работы нашего скрипта нам понадобятся «ID приложения» и «Защищённый ключ». Запоминаем эти данные:

На этом все настройки на стороне социальной сети завершены. Переходим к нашему сайту, на котором необходимо сделать авторизацию.

Создадим на сайте два php файла для осуществления OAuth авторизации:
auth.php — будет содержать ссылку для авторизации.
vk.php — будет взаимодействовать с соц. сетью для получения данных пользователя.
Также создадим один css файл:
style.css
Разместим эти файлы на нашем сайте.

В файле style.css добавим стили:

.div_auth_vk < text-align: center; background-color: #f0f0f0; width: 300px; margin: 50px auto; border-radius: 6px; padding-top: 20px; padding-bottom: 20px; font-family: Arial; box-shadow: 0px 0px 10px rgba(0,0,0,0.3); >.div_auth_vk h2 < text-align: center; margin-top: 0px; font-size: 14px; >.link_auth_vk < text-decoration: none; border-bottom: 0px; >.link_auth_vk:hover < text-decoration: none; border-bottom: 0px; >.link_auth_vk img < width: 40px; transition: 0.4s; border-radius: 8px; box-shadow: none; >.link_auth_vk:hover img

Еще по теме:  Можно ли заработать в ВК на своей странице

В файле auth.php создаем ссылку для авторизации. Она должна иметь адрес:
https://oauth.vk.com/authorize
и передавать следующие GET параметры:
client_id=6740883 — ID приложения (берем из настроек приложения);
display=page — указываем, что авторизация должна быть в отдельном окне;
redirect_uri=http://info-less.ru/article/6/resources/vk.php — ссылка на страницу vk.php;
response_type=code — осуществлять запросы со стороннего сервера.

Собираем ссылку и подключаем к странице стили:

Войти через Вконтакте

Переходим к файлу vk.php в котором мы должны получить ответ от сервера Вконтакте. Ответ приходит в виде GET параметра code. Пример:
http://info-less.ru/article/6/resources/vk.php?code=3c113dc8e957958b53
Отлавливаем этот параметр:

if(isset($_GET[‘code’]))< $code = $_GET[‘code’]; >else

После того как получен код, необходимо сделать GET запрос на получение токена. Ссылка должна иметь адрес:
https://oauth.vk.com/access_token
и передавать следующие параметры:
client_id=6740883 — ID приложения (берем из настроек приложения);
display=page — указываем что авторизация должна быть в отдельном окне;
redirect_uri=http://info-less.ru/article/6/resources/vk.php — ссылка на страницу vk.php;
client_secret=DYzAPYoU3KPOkLSUqexd — защищённый ключ приложения (берем из настроек приложения);
code=3c113dc8e957958b53 — параметр из переменной $code.

Осуществляем запрос через функцию file_get_contents:

$get_token = file_get_contents(«https://oauth.vk.com/access_token?client_id=6740883redirect_uri=http://info-less.ru/article/6/resources/vk.phpcode=».$code); if(!$get_token)

Ответ от сервера приходит в формате JSON, поэтому декодируем его в ассоциативный массив и достаем из него параметры user_id и access_token:

$token = json_decode($get_token, true); $user_id = $token[‘user_id’]; $access_token = $token[‘access_token’];

После того как получен токен, мы можем запросить данные пользователя. Для этого посылаем на сервер ВК еще один GET запрос:
https://api.vk.com/method/users.get
с параметрами:
user_id=201. 006 — параметр из переменной $user_id;
access_token=46f00ad548f. ec55fec51f90e — параметр из переменной $access_token;
fields=uid,first_name,last_name,photo_big,sex,city,country,bdate — данные пользователя которые мы хотим получить. Более подробный список можно найти в документации API;
v=5.52 — версия API.

Осуществляем запрос и декодируем JSON ответ:

$get_data = file_get_contents(«https://api.vk.com/method/users.get?user_id=».$user_id.».$access_token.»v=5.52″); if(!$get_data) < exit(«Нет данных»); >$data = json_decode($get_data, true)[‘response’][0];

В результате массив $data будет содержать данные о пользователе. Выведем их на страницу:

echo «
«; echo «Имя: «.$data[‘first_name’].»
«; echo «Фамилия: «.$data[‘last_name’].»
«; echo «Идентификатор: «.$data[‘id’].»
«; if($data[‘sex’] == 0)»;> if($data[‘sex’] == 1)»;> if($data[‘sex’] == 2)»;> echo «Дата рождения: «.$data[‘bdate’].»
«; echo «Страна: «.$data[‘country’][‘title’].»
«; echo «Город: «.$data[‘city’][‘title’];

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

Параметр, по которому должна происходить идентификация пользователя — это его идентификатор в социальной сети, который мы получаем из переменной $data[‘id’]. Соответственно делаем select запрос в базу данных для проверки наличия пользователя с таким ID. Если такой пользователь существует, то авторизуем его. Если такого пользователя нет, то добавляем его в базу командой insert, тем самым производя регистрацию нового пользователя.

Для упрощения демо-примера будем хранить данные в сессии.

Источник: info-less.ru

Как получить auth_key доступ VK API

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

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

к содержанию ↑

Что такое VK API?

API социальной сети VK предоставляет разработчикам довольно большой спект возможностей. К основым из них относятся:

  • Получение информации о пользователях социальной сети
  • Получение информации из базы данных VK
  • Управление пользователями групп и сообществ
  • Управление рекламными компаниями
  • Управление фото и видео

В общей сложности программисты и разработчики приложений могут использовать более 550 различных функций. Такой богатый набор функций предлагает широкие возможности для автоматизации взаимодействия с социальной сетью VK. С помощью API вы сможете развивать свой проект и расширить охват аудитории, в которую можно включить пользователей самой популярной социальной сети на просторах СНГ.

Полный список методов вы сможете получить, перейдя по адресу — https://vk.com/dev/methods

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

Получение ID для работы с API фукциями VK

Первое что вам нужно сделать – это открыть страницу для разработчиков приложений взаимодействующих с VK. Она расположена по адресу — https://vk.com/dev.

Для того чтобы продолжить, убедитесь что у вас есть аккаунт в социальной сети VK и вы в него вошли. После этого переходите в раздел «Мои приложения».

Вы попадете в панель управления приложениями. Далее выберите пункт «Создать».

Вы попадете в меню создания приложения, которое выглядит как на изображении ниже.

Здесь вы должны ввести название приложения, выбрать платформу, и указать дополнительные параметры.

В типе платформы выберите «Сайт», это позволит вам использовать API при разработке сайта. Далее вам следует указать его адрес.

Указав нужную информацию, вы должны будете подтвердить свои действия с помощью звона или СМС.

Если вы не дождались звонка в течении двух минут, то сможете выбрать отправку СМС с нужным вам кодом.

Введите полученный код, и вы успешно создадите своё приложение. Далее вам осталось перейти в его настройки.

В этом разделе вы увидите свой VK API ID. В дальнейшем вы сможете использовать его при взаимодействии с серверами VK.

Далее вы можете добавить ID в ссылку

https://oauth.vk.com/oauth/authorize?client_id=5866391display=pageresponse_type=token

После чего получить желаемый ключ

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

Итог

Как видите получить доступ к обширному набору API функций для взаимодействия с VK довольно просто, и займет у вас пару минут, а широкие возможности помогут вам в развитии проекта любой сложности.

Плагин рейтинга создан автором этого блога. Буду очень признателен, если вы сможете его поддержать (ссылка)

p.s. Если статья была полезной и вас переполняет чувство благодарности, можете поддержать меня долларом на патреоне

Источник: web7.pro

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