Авторизация через ВКонтакте на PHP

авторизация вконтакте php
Метки: /

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

Также посмотрите нашу статью Как сделать регистрацию на PHP через email.

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

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

Кнопка "разработчикам" Вконтакте

Также можете перейти по этой ссылки.

Там же нажимаем сверху на вкладку мои приложения.

Меню для ВК разработчиков

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

Добавление сайта в API ВК

Тут думаю всё понятно, единственное, для некоторых может быть не понятным, что такое базовый домен, тут просто нужно вписать доменное имя своего сайта, нажимаем «Подключить сайт».

После того как создали сайт, заходим в настройки этого сайта и там самое главное, это три пункта, «ID приложения», «Защищённый ключ» и «Доверенный redirect URI», последнее это поле, в него вы должны вписать где будет обрабатыватся авторизация.

Делаем авторизацию через ВК:

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

В этом файле просто хранятся константы нужных данных нашего приложения.

Теперь создаём страницу авторизации, вот она.

Тут просто подключаем файл «config.php» и создаём ссылку для входа через ВКонтакте.

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

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

Потом когда мы перейдём где будем обрабатывать основную авторизацию, у нас будет GET запрос, но об этом позже.

Также есть ещё два значения в запросе, это client_id в нём передаём ID приложения, а второй это display, тут указывается тип страницы для авторизации, у нас это page, которая используется для обычных WEB сайтов.

Примечание:

Если вам не понятна работа с GET запросами и вообще с формой, то посмотрите эту часть нашего учебника по PHP:  PHP работа с формой.

Вот как у нас выглядит страница.

Кнопка для входя через ВК

Теперь перейдём к обработчику авторизации и получению данных пользователя.

Тут уже всё сложнее, сперва мы проверяем, есть ли вообще код, для последующей работе с авторизацией, если нет, то прерываем программу, если да, то делаем URL запрос.

В этом GET запросе можете заметить несколько значений два из них знакомы, о них можете ознакомится выше, остальные сейчас разберём.

Первый, client_secret, это наш защищённый ключ, второе значение code код который у нас есть из GET запроса.

После этого мы отправляем GET запрос с помощью функции file_get_contents(), в качестве ответа, она вернёт JSON массив, который не читается PHP, поэтому мы объявляем функцию внутри другой функции json_decode(), которая декодирует формат JSON, в качестве второго параметр она принимает true, что означает декодирование в обычный ассоциативный массив PHP, это массив присваиваем переменной $token.

После чего опять проверяем, имеет ли значение переменная $token, если нет, то останавливаем программу и выводим сообщение, если да то опять делаем URL запрос.

Как можете заметить, значение которые мы отправляем, они все взяты из массива $token,  первое значение user_id тут отправляем ID пользователя, второй access_token, это токиен аутентификации, третье значение, fields, это какие данные пользователя мы хотим получить, в нашем случае, хотим получить id пользователя и его имя, фамилию.

Важно:

Также очень важное значение v, без него вообще не чего работать не будит, он указывает версию API.

После, точно так же, как и прошлый раз, отправляем этот запрос, получаем массив и выводим его, вот что должно получится.

Вывод данных из авторизация API вконтакте на PHP

Теперь авторизация ВКонтакте на PHP готов. Как видите всё работает как надо, теперь вам просто нужно полученные данные отправить в базу данных или например в cookie.

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

Вывод:

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

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Поделится:

Также рекомендую: