• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/apple.php
  • Класс: CSocServApple
  • Вызов: CSocServApple::getUrl
public function getUrl($arParams): string
{
	global $APPLICATION;

	if (defined('BX24_HOST_NAME') && IsModuleInstalled('bitrix24'))
	{
		$redirect_uri = static::CONTROLLER_URL . '/redirect.php';
		$state = $this->getEntityOAuth()->GetRedirectURI() . '?check_key=' . CSocServAuthManager::getUniqueKey() . '&state=';
		$backurl = $APPLICATION->GetCurPageParam('', ['logout', 'auth_service_error', 'auth_service_id', 'backurl']);
		$state .= urlencode('state=' . urlencode('backurl=' . urlencode($backurl) . (isset($arParams['BACKURL']) ? '&redirect_url=' . urlencode($arParams['BACKURL']) : '')));
	}
	else
	{
		$state = 'site_id=' . SITE_ID . '&backurl=' .
			urlencode($APPLICATION->GetCurPageParam('check_key=' . CSocServAuthManager::getUniqueKey(), ['logout', 'auth_service_error', 'auth_service_id', 'backurl'])) .
			(isset($arParams['BACKURL']) ? '&redirect_url=' . urlencode($arParams['BACKURL']) : '');

		$redirect_uri = $this->getEntityOAuth()->GetRedirectURI();
	}

	return $this->getEntityOAuth()->GetAuthUrl($redirect_uri, $state);
}