diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index efe80ee..fb76ef5 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -57,6 +57,7 @@ class SettingsController extends Controller { $params = $this->admin->getForm()->getParams(); $params['idp'] = [ 'singleLogoutService.url' => ['required' => false], + 'singleLogoutService.responseUrl' => ['required' => false], 'singleSignOnService.url' => ['required' => false], 'entityId' => ['required' => false], 'x509cert' => ['required' => false], @@ -91,6 +92,7 @@ class SettingsController extends Controller { $params = $this->admin->getForm()->getParams(); $params['idp'] = [ 'singleLogoutService.url' => null, + 'singleLogoutService.responseUrl' => null, 'singleSignOnService.url' => null, 'idp-entityId' => null, ]; diff --git a/lib/SAMLSettings.php b/lib/SAMLSettings.php index cee5f09..d25fa16 100644 --- a/lib/SAMLSettings.php +++ b/lib/SAMLSettings.php @@ -158,6 +158,11 @@ class SAMLSettings { $settings['sp']['singleLogoutService'] = [ 'url' => $this->urlGenerator->linkToRouteAbsolute('user_saml.SAML.singleLogoutService'), ]; + + $sloResponseUrl = $this->config->getAppValue('user_saml', $prefix . 'idp-singleLogoutService.responseUrl', ''); + if($sloResponseUrl !== '') { + $settings['idp']['singleLogoutService']['responseUrl'] = $sloResponseUrl; + } } return $settings; diff --git a/templates/admin.php b/templates/admin.php index 2745322..6d1b754 100644 --- a/templates/admin.php +++ b/templates/admin.php @@ -132,6 +132,7 @@ style('user_saml', 'admin');

t('Show optional Identity Provider settingsā€¦')) ?>