%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.12.41.136 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/rest/lib/oauth/ |
Upload File : |
<?php namespace Bitrix\Rest\OAuth; use Bitrix\Rest\AuthProviderInterface; use Bitrix\Rest\Event\Session; use Bitrix\Rest\OAuthService; use Bitrix\Main\Type\DateTime; class Provider implements AuthProviderInterface { /** * @var Provider */ protected static $instance = null; public static function instance() { if(static::$instance === null) { static::$instance = new static(); } return static::$instance; } public function authorizeClient($clientId, $userId, $state = '') { if($userId > 0) { $additionalParams = $this->getTokenParams(array(), $userId); $client = $this->getClient(); $codeInfo = $client->getCode($clientId, $state, $additionalParams); if($codeInfo['result']) { return $codeInfo['result']; } else { return $codeInfo; } } return false; } public function get($clientId, $scope, $additionalParams, $userId) { if($userId > 0) { $additionalParams = $this->getTokenParams($additionalParams, $userId); $client = $this->getClient(); $authResult = $client->getAuth($clientId, $scope, $additionalParams); if($authResult['result']) { if($authResult['result']['access_token']) { $authResult['result']['user_id'] = $userId; $authResult['result']['client_id'] = $clientId; Auth::storeRegisteredAuth($authResult['result']); } if (!empty($authResult['result']['date_finish_format'])) { $dateFinish = new DateTime($authResult['result']['date_finish_format'], DATE_ATOM); $authResult['result']['date_finish'] = $dateFinish->getTimestamp(); } return $authResult['result']; } else { return $authResult; } } return false; } protected function getClient() { return OAuthService::getEngine()->getClient(); } protected function getTokenParams($additionalParams, $userId) { if(!is_array($additionalParams)) { $additionalParams = array(); } $additionalParams[Auth::PARAM_LOCAL_USER] = $userId; $additionalParams[Auth::PARAM_TZ_OFFSET] = \CTimeZone::getOffset(); $additionalParams[Session::PARAM_SESSION] = Session::get(); return $additionalParams; } }