Skip to content

beta-eto-code/bitrix-openid-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenId client for Bitrix

Пример использования:

use BitrixPSR18\Client;
use Bitrix\Openid\Client\SessionCredentialManager;
use Bitrix\Openid\Client\OpenIdAuthorize;
use Bitrix\Openid\Client\OpenIdConfig;
use Bitrix\Openid\Client\AuthCodeResolveHandler;
use Bitrix\Openid\Client\Interfaces\OpenIdClientInterface;


$httpClient = new Client();                         // HTTP клиент для отправки запросов
$credentialManager = new SessionCredentialManager(  // менеджер данных авторизации
    SomeCredentialImplementation::class,            // некоторый декоратор запросов для заполнения данных авторизации
    'session_key'                                   // ключ сесии где будут хранится данные для авторизации
);
$handler = new AuthCodeResolveHandler();            // обработчик для получения кода авторизации
$config = new OpenIdConfig(                         // настройки OpenId клиента
    'https://someapp.com/oauth/authorize',          // страница авторизации приложения
    'https://someapp.com/oauth/token',              // URL для запроса доступов
    'http://mylocation.com/auth/',                  // страница на которую будет произведен редирект при успешной авторизации приложения
    'client_id',                                    // идентификатор приложения
    'client_secret'                                 // ключ приложения
);

$openIdClient = new SomeOpenIdClient(               // реализация OpenId клиента - OpenIdClientInterface
    $credentialManager,
    $httpClient,
    $handler,
    $config
);
$userManager = new SomeUserManagerImplementation(); // менеджер пользователей
$openidAuthorize = new OpenIdAuthorize($openIdClient, $userManager);
$openidAuthorize->authorize();

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages