diff --git a/lib/composer/autoload_classmap.php b/lib/composer/autoload_classmap.php index 872d9138e..cbc92b05b 100644 --- a/lib/composer/autoload_classmap.php +++ b/lib/composer/autoload_classmap.php @@ -151,6 +151,7 @@ return array( 'Combodo\\iTop\\Composer\\iTopComposer' => $baseDir . '/sources/Composer/iTopComposer.php', 'Combodo\\iTop\\Controller\\AjaxRenderController' => $baseDir . '/sources/Controller/AjaxRenderController.php', 'Combodo\\iTop\\Controller\\OAuth\\OAuthAjaxController' => $baseDir . '/sources/Controller/OAuth/OAuthAjaxController.php', + 'Combodo\\iTop\\Controller\\OAuth\\OAuthLandingController' => $baseDir . '/sources/Controller/OAuth/OAuthLandingController.php', 'Combodo\\iTop\\Controller\\OAuth\\OAuthWizardController' => $baseDir . '/sources/Controller/OAuth/OAuthWizardController.php', 'Combodo\\iTop\\Core\\Authentication\\Client\\OAuth\\IOAuthClientProvider' => $baseDir . '/sources/Core/Authentication/Client/OAuth/IOAuthClientProvider.php', 'Combodo\\iTop\\Core\\Authentication\\Client\\OAuth\\IOAuthClientResultDisplay' => $baseDir . '/sources/Core/Authentication/Client/OAuth/IOAuthClientResultDisplay.php', diff --git a/lib/composer/autoload_static.php b/lib/composer/autoload_static.php index 4d1e7a5bd..21bc64c73 100644 --- a/lib/composer/autoload_static.php +++ b/lib/composer/autoload_static.php @@ -519,6 +519,7 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b 'Combodo\\iTop\\Composer\\iTopComposer' => __DIR__ . '/../..' . '/sources/Composer/iTopComposer.php', 'Combodo\\iTop\\Controller\\AjaxRenderController' => __DIR__ . '/../..' . '/sources/Controller/AjaxRenderController.php', 'Combodo\\iTop\\Controller\\OAuth\\OAuthAjaxController' => __DIR__ . '/../..' . '/sources/Controller/OAuth/OAuthAjaxController.php', + 'Combodo\\iTop\\Controller\\OAuth\\OAuthLandingController' => __DIR__ . '/../..' . '/sources/Controller/OAuth/OAuthLandingController.php', 'Combodo\\iTop\\Controller\\OAuth\\OAuthWizardController' => __DIR__ . '/../..' . '/sources/Controller/OAuth/OAuthWizardController.php', 'Combodo\\iTop\\Core\\Authentication\\Client\\OAuth\\IOAuthClientProvider' => __DIR__ . '/../..' . '/sources/Core/Authentication/Client/OAuth/IOAuthClientProvider.php', 'Combodo\\iTop\\Core\\Authentication\\Client\\OAuth\\IOAuthClientResultDisplay' => __DIR__ . '/../..' . '/sources/Core/Authentication/Client/OAuth/IOAuthClientResultDisplay.php', diff --git a/pages/ajax.oauth.wizard.php b/pages/ajax.oauth.wizard.php index e0eded32a..7a753a320 100644 --- a/pages/ajax.oauth.wizard.php +++ b/pages/ajax.oauth.wizard.php @@ -11,64 +11,3 @@ $oUpdateController = new OAuthAjaxController($sTemplates, 'core'); $oUpdateController->AllowOnlyAdmin(); $oUpdateController->SetDefaultOperation('Default'); $oUpdateController->HandleOperation(); - - - - - -//require_once(APPROOT.'application/utils.inc.php'); -//require_once(APPROOT.'/application/application.inc.php'); -// -//require_once(APPROOT.'/application/loginwebpage.class.inc.php'); -// -//$oPage = new JsonPage(); -//$oPage->SetOutputDataOnly(true); -//$aResult = ['status' => 'success', 'data' => []]; -//try { -// $operation = utils::ReadParam('operation', ''); -// -// switch ($operation) { -// case 'get_authorization_url': -// $sProvider = utils::ReadParam('provider', '', false, 'raw'); -// $sClientId = utils::ReadParam('client_id', '', false, 'raw'); -// $sClientSecret = utils::ReadParam('client_secret', '', false, 'raw'); -// $sScope = utils::ReadParam('scope', '', false, 'raw'); -// $sAdditional = utils::ReadParam('additional', '', false, 'raw'); -// $aAdditional = []; -// parse_str($sAdditional, $aAdditional); -// $sAuthorizationUrl = OAuthClientProviderFactory::getVendorProviderForAccessUrl($sProvider, $sClientId, $sClientSecret, $sScope, $aAdditional); -// $aResult['data']['authorization_url'] = $sAuthorizationUrl; -// break; -// case 'get_display_authentication_results': -// $sProvider = utils::ReadParam('provider', '', false, 'raw'); -// $sRedirectUrl = utils::ReadParam('redirect_url', '', false, 'raw'); -// $sClientId = utils::ReadParam('client_id', '', false, 'raw'); -// $sClientSecret = utils::ReadParam('client_secret', '', false, 'raw'); -// $sScope = utils::ReadParam('scope', '', false, 'raw'); -// $sAdditional = utils::ReadParam('additional', '', false, 'raw'); -// -// $sRedirectUrlQuery = parse_url($sRedirectUrl)['query']; -// $aOAuthResultDisplayClasses = utils::GetClassesForInterface('Combodo\iTop\Core\Authentication\Client\OAuth\IOAuthClientResultDisplay', '', array('[\\\\/]lib[\\\\/]', '[\\\\/]node_modules[\\\\/]', '[\\\\/]test[\\\\/]')); -// $aAdditional = []; -// parse_str($sAdditional, $aAdditional); -// -// $sProviderClass = "\Combodo\iTop\Core\Authentication\Client\OAuth\OAuthClientProvider".$sProvider; -// $sRedirectUrl = OAuthClientProviderAbstract::GetRedirectUri(); -// -// $aQuery = []; -// parse_str($sRedirectUrlQuery, $aQuery); -// $sCode = $aQuery['code']; -// $oProvider = OAuthClientProviderFactory::getVendorProvider($sProvider, $sClientId, $sClientSecret, $sScope, $aAdditional); -// $oAccessToken = OAuthClientProviderFactory::getAccessTokenFromCode($oProvider, $sCode); -// -// foreach($aOAuthResultDisplayClasses as $sOAuthClass) { -// $aResult['data'][] = $sOAuthClass::GetResultDisplayScript($sClientId, $sClientSecret, $sProvider, $oAccessToken); -// } -// } -//} -//catch(Exception $e){ -// $aResult['status'] = 'error'; -// IssueLog::Error($e->getMessage()); -//} -//$oPage->SetData($aResult); -//$oPage->output(); \ No newline at end of file diff --git a/pages/oauth.landing.php b/pages/oauth.landing.php index d885ded25..27019f430 100644 --- a/pages/oauth.landing.php +++ b/pages/oauth.landing.php @@ -1,26 +1,14 @@ AddCSSClass('ibo-oauth-wizard--side-pane'); -$oPage = new WebPage(Dict::S('UI:Schema:Title')); - -$sJS = <<add_script($sJS); - - -$oPage->output(); +$oUpdateController = new OAuthLandingController($sTemplates, 'core'); +$oUpdateController->AllowOnlyAdmin(); +$oUpdateController->SetDefaultOperation('Landing'); +$oUpdateController->HandleOperation(); diff --git a/sources/Controller/OAuth/OAuthLandingController.php b/sources/Controller/OAuth/OAuthLandingController.php new file mode 100644 index 000000000..3c3fd7c77 --- /dev/null +++ b/sources/Controller/OAuth/OAuthLandingController.php @@ -0,0 +1,13 @@ +DisplayPage([]); + } +} \ No newline at end of file diff --git a/templates/pages/backoffice/oauth/Landing.html.twig b/templates/pages/backoffice/oauth/Landing.html.twig new file mode 100644 index 000000000..578bce7b0 --- /dev/null +++ b/templates/pages/backoffice/oauth/Landing.html.twig @@ -0,0 +1,3 @@ +{# @copyright Copyright (C) 2010-2022 Combodo SARL #} +{# @license http://opensource.org/licenses/AGPL-3.0 #} + diff --git a/templates/pages/backoffice/oauth/Landing.ready.js.twig b/templates/pages/backoffice/oauth/Landing.ready.js.twig new file mode 100644 index 000000000..4c8717fe7 --- /dev/null +++ b/templates/pages/backoffice/oauth/Landing.ready.js.twig @@ -0,0 +1,7 @@ +{# @copyright Copyright (C) 2010-2022 Combodo SARL #} +{# @license http://opensource.org/licenses/AGPL-3.0 #} + +window.addEventListener("message", function (event){ + event.source.postMessage(window.location.href, event.origin); + window.close(); +}, false);