На странице создания приложения указать тип "Вебприложение"
Скачать 13.36 Kb.
|
Для того, чтобы осуществить авторизацию пользователя через социальную сеть ВКонтакте с помощью сценария на PHP, нужно выполнить следующие шаги: Создать приложение в ВКонтакте, перейдя по ссылке https://vk.com/apps?act=manage. На странице создания приложения указать тип "Веб-приложение". Указать адрес сайта и базовый домен. Сохранить изменения и получить идентификатор и защищенный ключ доступа (client_id и client_secret). Создать страницу на сайте, на которой будет находиться кнопка "Войти через ВКонтакте". Добавить на страницу кнопку "Войти через ВКонтакте" с ссылкой на https://oauth.vk.com/authorize с параметрами: client_id - идентификатор приложения; redirect_uri - адрес страницы, на которую будет перенаправлен пользователь после авторизации; response_type - тип ответа, в данном случае - code; scope - запрашиваемые права доступа. Пример ссылки: php Copy code Войти через ВКонтакте Создать страницу vk_auth.php, на которую будет перенаправлен пользователь после авторизации. В скрипте vk_auth.php получить код авторизации из параметра запроса: bash Copy code $code = $_GET['code']; Отправить запрос на получение токена доступа к API ВКонтакте, используя функцию file_get_contents(): php Copy code $url = "https://oauth.vk.com/access_token"; $params = array( 'client_id' => '1234567', 'client_secret' => 'ab12c3d4e5f6g7h8i9j0', 'redirect_uri' => 'http://example.com/vk_auth.php', 'code' => $code ); $result = file_get_contents($url . '?' . http_build_query($params)); $data = json_decode($result, true); $access_token = $data['access_token']; $user_id = $data['user_id']; Сохранить токен доступа в сессии и выполнить запрос на получение информации о пользователе: php Copy code $params = array( 'user_ids' => $user_id, 'fields' => 'first_name,last_name,photo_100', 'access_token' => $access_token ); $url = "https://api.vk.com/method/users.get?" . http_build_query($params); $result = file_get_contents($url); $data = json_decode($result, true); $first_name = $data['response'][0]['first_name']; $last_name = $data['response'][0]['last_name']; $photo_url = $data['response'][0]['photo_100']; Сохранить информацию о пользователе в базу данных или сессию и выполнить авторизацию на сайте. |