beta / bitrix-openid-client
OpenId client for Bitrix
Installs: 201
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 0
Open Issues: 0
Type:lib
Requires
- php: >=7.2
- ext-json: *
- beta/bitrix-psr18: ^1.0
- beta/bitrix-psr7: ^1.0
Requires (Dev)
- squizlabs/php_codesniffer: ^3.6
- vimeo/psalm: ^4.20
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();