beta/bitrix-openid-client

OpenId client for Bitrix

1.3.0 2022-10-24 20:06 UTC

This package is auto-updated.

Last update: 2024-05-24 23:55:41 UTC


README

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

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();