Как сделать авторизацию через ВК на сайте html

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags

Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

Авторизация и регистрация с сессией на чистом PHP

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

Простая авторизация через ВКонтакте для php приложений

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

  1. Регистрируем web-приложение (сайт) на https://vk.com/editapp?act=create;
  2. В настройках приложения (на том же vk.com) получаем ID приложения, защищённый ключ и сервисный ключ доступа;
  3. Там же указываем базовый домен вашего сайта (yourapp.com) и доверенный redirect URI (https://yourapp.com/libs/simple-php-vk-auth/auth.php);
  4. Настраиваем файл config.php:
Еще по теме:  Как заткнуть человека матом ВК

//Права, которые мы хотим получить (https://vk.com/dev/permissions) $scope = array( ‘nohttps’, ‘groups’, ‘photos’, ‘friends’, ‘offline’ ); $protocol = ‘https://’; //Если у вас есть SSL-сертификат, то оставляем, иначе меняем на http:// define(‘APP_URL’, «$protocol» . $_SERVER[‘HTTP_HOST’]); //Ваш сайт/web-приложение define(‘REDIRECT_URL’, «$protocol» . $_SERVER[‘HTTP_HOST’] . ‘/libs/simple-php-vk-auth/auth.php’); //Ссылка на скрипт авторизации через вк (файл auth.php, не путать с главной страницей вашего сайта, или той, на которой расположена кнопка ‘Авторизоваться’. Ссылка на сам скрипт.) define(‘APP_ID’, ‘1234’); //ID приложения (выдает ВК) define(‘APP_SECRET’, ‘aaabbbccc’); //Защищённый ключ (выдает ВК) define(‘APP_SERVICE_KEY’, ‘aaabbbccc’); //Сервисный ключ доступа (выдает ВК) define(‘ACCESS_TOKEN_URL’, ‘https://oauth.vk.com/access_token’); //не трогать define(‘AUTH_URL’, ‘https://oauth.vk.com/authorize’); ////не трогать define(‘AUTH_DIALOG_URL’, AUTH_URL . ‘?’ . ‘client_id=’ . APP_ID . ‘response_type=codescope=’ . implode(‘,’, $scope)); //Вызов диалога авторизации через ВК

  1. Делаем ссылку на авторизацию в духе:

< a href=’https://yourapp.ru/libs/simple-php-vk-auth/auth.php’>Авторизация через ВК < a/>

  1. Если все прошло успешно, то попадаем на главную страницу сайта, а в сессии у нас теперь есть:

$_SESSION[‘token’] //Сам токен $_SESSION[‘secret’] //Секретка для выполнения некоторых методов (не заморачивайтесь, когда она будет нужна — поймете сами) $_SESSION[‘uid’] //id авторизовавшегося пользователя

  1. Ну а если нет, то смотрим ошибки, которые возвращает ответом vk api;

Ессена это не будет работать на localhost.

Система регистрации и авторизации на PHP и MySQL базы данных

Источник: github.com

Как добавить на сайт авторизацию через вконтакте

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

  1. На сайте, пользователь нажимает на ссылку «Войти», открывается страница VK, где он разрешит приложению доступ к своим данным.
  2. После подтверждения браузер пользователя будет перенаправлен по адресу, указанному при открытии диалога авторизации. К URL добавляется GET-параметр с кодом авторизации.
  3. Скрипт выполняет ответный запрос с полученным кодом и ключом приложения для получения access_token .
  4. Полученный в ответе access_token , скрипт использует для запроса к данным пользователя.
Еще по теме:  Что любят девушки Вконтакте

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

Для начала нужно создать приложение на странице https://vk.com/editapp?act=create

В меню «Платформа» нужно указать – сайт, заполнить поля «адрес сайта» и «основной домен».

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

Ссылка для входа

Сформируем и выведем ссылку по которой пользователь даст разрешение на запрошенные действия.

В redirect_uri указываем скрипт-обработчик, туда придет секретный код.

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

При переходе по ссылке откроется страница:

Получение данных

После того как пользователь дал разрешение, он возвращается на redirect_uri , к URL добавляются GET-параметры:
https://example.com/oauth-vk.php?code=1234567890state=https://example.com/page-1

Далее запрашивается access_token (в ответе с токеном будет e-mail). После этого выполняется метод users.get , который возвращает ID, имя, фамилию и URL аватарки.

redirect_uri должен быть такой же как в ссылке для входа.

Полученные данные пользователя

Далее все завит от реализации сайта, пользователя можно добавить в БД или обновить его данные и авторизовать в системе.

Источник: vkdom.su

Как сделать «вход на сайт через контакт» или ВК OpenAPI?

Здравствуйте, дорогие друзья! Как-то недавно мне потребовалось сделать на одном из своих сайтов вход через «вконтакте». Это очень удобно, так как нет необходимости в регистрации на самом сайте, а сразу же пользоваться всеми его возможностями со своего аккаунта «вконтакте». Пришлось вникать в тонкости для осуществления этой задачи. Кстати, к слову сказать, в самой официальной документации по ВК API написано немного, да и всё очень запутано.

Итак, для того чтобы начать пользовать ВК API, нам нужно создать новое приложение «Вконтакте». Делаем это так: переходим по ссылке: http://vk.com/editapp?act=create, выбираем «веб-сайт», вводим имя нашего приложения, а также адрес сайта, к которому оно привязано и базовый домен нашего сайта.

После создания, нам стали известны ID нашего созданного приложения, а также секретный код, который потому и «секретный» что не стоит его публиковать, следовательно ниже написанный id и secret code вымышленные.:)

ID: 3328234
Secret Code: Q5f2PSwkiFw23TysdDgr

Теперь начинаем «кодить». Создаём файл «vklogin.php», например, в корне сайта. А шаблон или код вставляем следующую ссылку:

Еще по теме:  Что за работу предлагают Вконтакте

https://oauth.vk.com/authorize?client_id=3328234redirect_uri=http://www.mydomain.ru/vklogin.php3328234″; $VK_SECRET_CODE = » Q5f2PSwkiFw23TysdDgr «; if(!empty($_GET[‘code’])) < $vk_grand_url = «https://api.vk.com/oauth/access_token?client_id=».$VK_APP_ID.».$VK_SECRET_CODE.».$_GET[‘code’].»; // отправляем запрос на получения access token $resp = file_get_contents($vk_grand_url); $data = json_decode($resp, true); $vk_access_token = $data[‘access_token’]; $vk_uid = $data[‘user_id’]; // обращаемся к ВК Api, получаем имя, фамилию и ID пользователя вконтакте // метод users.get $res = file_get_contents(«https://api.vk.com/method/users.get?uids=».$vk_uid.».$vk_access_token.»); $data = json_decode($res, true); $user_info = $data[‘response’][0]; echo $user_info[‘first_name’].» «.$user_info[‘last_name’].»
«; echo «‹img src='».$user_info[‘photo’].»‘ border=’0’ /›»; > ?›

Итак, с переменными ID и Sercet Code думаю всё ясно. Далее проверяем, передали ли нам ВК при редиректе параметр «code», который мы добавляем во вновь созданный url и опять обращаемся к «контакту», но уже напрямую из нашего скрипта. Для этого используем функцию «file_get_contents».

На данном этапе, следует заострить внимание на нескольких важных замечаниях:

1. Данный код врят-ли получится тестировать на локальном сервере(например, на «Дервере»), а также, на используемом сервере, в настройка php.ini, директива «allow_url_fopen» должна быть установлена в «1».
2. На используемом сервере должен быть установлено расширение json для PHP.
3. И самое коварное, на чём я споткнулся. Параметры «redirect_uri» в обоих запросах к API, должны быть абсолютно одинаковыми.

Осталось только упомянуть о самой работе с ВК API. Как вы заметили, после второго запроса к ВК, мы получили параметры «access_token» и «user_id». На данном этапе мы уже авторизированны на ВК и можем обращаться к API, используя 2 эти переменные.

В последнем запросе к ВК API, мы используя метод «users.get», получаем имя пользователя ВК, фамилию, а также ID пользователя и просто выводим их. Для конкретной реализации логина на сайте через ВК, всё зависит от используемой CMS. Если у Вас собственноручно написанная CMS, вы может поступить следующий образом. Например, сохранять ID пользователя в сессионных переменных $_SESSION[‘vk_id’] и $_SESSION[‘vk_login’] предварительно обнулив первую. И проверят авторизацию пользователя по значению «vk_id».

Более подробно, о работе с ВК API вы сможете прочитать, по следующим ссылкам:

Проблему подключения авторизации к вашей CMS вам придется решать самим. Моей задачей было только направить Вас в нужном направлении.:) Удачи Вам!

Источник: www.adm-blog.ru

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