1. Go to this page and download the library: Download denx-b/bitrix-social-auth library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
denx-b / bitrix-social-auth example snippets
use Dbogdanoff\Bitrix\Auth\Auth;
use Dbogdanoff\Bitrix\Auth\Adapter;
try {
Auth::addAdapter(new Adapter\Vk([
'client_id' => '123456',
'client_secret' => 'xxxxxxxxxx'
]));
Auth::addAdapter(new Adapter\Fb([
'client_id' => '123456',
'client_secret' => 'xxxxxxxxxx'
]));
Auth::addAdapter(new Adapter\Google([
'client_id' => '123456',
'client_secret' => 'xxxxxxxxxx'
]));
Auth::addAdapter(new Adapter\Github([
'client_id' => '123456',
'client_secret' => 'xxxxxxxxxx'
]));
Auth::addAdapter(new Adapter\Telegram([
'client_id' => 'yourbotname_bot',
'client_secret' => 'API Token'
]));
Auth::addAdapter(new Adapter\Ok([
'client_id' => '123456',
'client_secret' => 'xxxxxxxxxx',
'client_pub_key' => 'yyyyyyyyyy'
]));
}
catch (\Exception $e) {
/*
* Все мы прекрасно понимаем, что вывод в init.php – плохо,
* но это пример и вы можете вынести весь этот код куда вам удобно, например в компонент
* Но я прамо так и использую :)
* Класс .adapter-error у меня position: fixed прилипает к верху экрана
*/
echo '<div class="adapter-error">' . $e->getMessage() . '</div>';
}
/**
* Название соц. сети.
* Чаще всего используется для вывода в публичной части
*
* @var string
*/
const NAME = '';
/**
* ID соц. сети в системе Bitrix.
* Используется в поле EXTERNAL_AUTH_ID таблицы b_socialservices_user
*
* @var string
*/
const ID = '';
/**
* Префикс для генерации логина.
*
* @var string
*/
const LOGIN_PREFIX = '';
/**
* Возвращает адрес куда надо отправить пользователя для разрешения запрошенных прав.
*
* @param array $state
* @return mixed
*/
abstract public function getAuthUrl(array $state = []): string;
/**
* Получение токена.
*
* @return array
* @throws \Exception
*/
abstract protected function getToken(): array;
/**
* Время жизни токена
*
* @return int
*/
abstract protected function getTokenExpires(): int;
/**
* Запрос на получение информации о пользователе.
*
* @param $token
* @return array
*/
abstract protected function getUserInfo($token): array;
/**
* Принимает массив с метода getUserInfo
* Должен вернуть массив с ключами для таблицы b_user
*
* @param array $userInfo
* @return array
*/
abstract protected function getUserFields(array $userInfo): array;
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.