Вход на сайт через социальную сеть Вконтакте

Авторизация через вконтакте api.

Вход на сайт через социальную сеть Вконтакте

Как быть?

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

С документации мы можем узнать что Параметр sig равен md5 от конкатенации следующих строк:

Давайте получим информацию о пользователе через open api, передадим её на сервер, проверим токен, и если все ок запишем в базу:

Настройка ссылки для входа


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

Получение данных из вконтакте

И так, пропишем скрипт получения данных от vk по только что присланному code. 

Примеры работы с api vk (вконтакте) на php

Список методов API Вконтакте | Ограниченияи рекомендации

Проблема 1


Полученный токен(sig) привязывается к ip-адресу, и при попытке использовать его на сервере вам выдаст ошибку:

Проблема 2

При таком способе авторизации нет возможности получить email пользователя, даже если вы запросите нужные права и пользователь даст согласие — вы не получите email в ответе.

Проверка авторизации

Давайте создадим модель, которая будет содержать информацию о пользователе:

Реализация автопостинга записей на стену (wall.post)

1. При регистрации приложения указываем тип платформы «Standalone-приложение»

2. Формируем ссылку и переходим по ней в браузере

client_id — ID вашего приложения, остальные параметры без изменений.

3. После перехода по ссылке и авторизации произойдёт редирект на url, который содержит токен. Этот токен сохраняем.

d5f00aca2251588a1e6d67e401d1e…. — токен

4. Устанавливаем библиотеку vk-php-sdkcomposer require vkcom/vk-php-sdk

5. Применяем метод wall.post для публикации сообщений в группу:

Похожее:  Специалисты | Доктор Борменталь

Регистрация приложения


В первую очередь создайте приложение на странице 

Формирование ссылки для авторизации пользователя и получение токена (access token)

Подробная документация.

Формируем ссылку и выводим её на экран:

Похожее:  НГУ - вход в личный кабинет

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 4,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован.

Adblock
detector