Авторизация через соц. сети Вконтакте, Фейсбук, Одноклассники, Google+ в один клик

Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой обратной связи, либо на почту которая на странице "Обо мне".

Дата публикации: 20.09.2018
Дата обновления: 18.12.2021

Статья считается устаревшей, читайте документацию на : https://clicklogin.ru/documentation

Либо вы можете заказать подключение авторизации через соц. сети: https://neatek.ru/make-an-order

Требуется авторизация через соц. сети? Но необходимо разбираться в документации соц. сетей по запросам к API на PHP или другом языке? Теперь это не требуется. Легко и просто можно использовать сервис «Клик Логин», простая реализация и подключение буквально в пару строк кода.

  1. Для начала получаем токен для вашего сайта — по данной ссылке.

К примеру вводим: https://ваш-сайт.рф и нажимаем «Добавить».

clicklogin-add-site-token-auth-social-pages

dc6ca8a03bc46816a3ea4e71917d8784 — является токеном вашего сайта, в конкретно данном случае токен сайта neatek.ru.

Это публичный токен для произведения авторизаций через сайт neatek.ru, сохранность его не обязательна, и поэтому передается публично.

2) Далее, создаем ссылку вида:

https://api.clicklogin.ru/?action=vk_auth&token=dc6ca8a03bc46816a3ea4e71917d8784&domain=neatek.ru&redirect=https://neatek.ru/vash_callback.php

Поставляя ваши параметры — token, domain, redirect.

  1. token — выданный вами ранее токен (Из примера: dc6ca8a03bc46816a3ea4e71917d8784)
  2. domain — имя вашего домена по выданному токену
  3. redirect — ссылка куда приходят данные об авторизации пользователя.
  4. action — действие требуемое от сервиса, в конкретном случае авторизация через Вконтакте — vk_auth, для того чтобы авторизоваться через Фейсбук нужно передавать значение параметра fb_auth

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

Можно «повесить» данную ссылку на картинку, например:

vk-vkontakte-vhod-voiti-login-auth-via-social-page-facebook-ulogin

теперь по нажатию на данную кнопку будет инициализирована авторизация через Вконтакте,

но у нас нет обработчика https://neatek.ru/vash_callback.php его нужно создать, подробно это описано здесь :  https://clicklogin.ru/documentation

Пример получается:

// PHP
function check_auth() {
	$params = array(
		'action' => 'service_info', /* указываем метод API */
		'domain' => 'clicklogin.ru', /* вводим свой домен на который выдавали токен - https://clicklogin.ru/gettoken.html */
		'token_auth' => $_REQUEST['token_auth']
	);
	/* Получаем информацию об авторизации */
	$query = "https://api.clicklogin.ru/?" . http_build_query($params, null, '&');
	$json = @file_get_contents($query);
	if(!empty($json)) {
		$response = (array) json_decode($json,true);
		/* если юзер существует */
		if(isset($response['success']) && $response['success'] !== false) {
			echo($response['user']['user_id']); /* (int) Идентификатор, обычно бывает всегда*/
			echo($response['user']['email']); /* (string) Почта, обычно бывает всегда*/
			echo($response['user']['first_name']); /* (string) Имя, обычно бывает всегда*/
			echo($response['user']['last_name']); /* (string) Фамилия, обычно бывает всегда*/
			echo($response['user']); /* полностью */
			return (array) $response['user'];
		}
	}
	return array();
}
$user = check_auth();
if(!empty($user)) {
	var_dump($user);
}
else {
	echo 'Авторизация не удалась!';
}
// всё :)

Теперь можно авторизовывать пользователей через соц. сети! 🙂

Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой обратной связи, либо на почту которая на странице "Обо мне".

Что такое абстрактный класс в PHP?

Как заставить PHP работать быстрее, еще до того как создать продукт, несколько правил

Тернарный оператор в PHP — Как его использовать?

О социальной инженерии, как взламывают людей

PHP Класс для приёма платежей через Тинькофф банк

Robokassa — Класс для работы с регулярными платежами