ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilSamlSettingsGUI Class Reference
+ Inheritance diagram for ilSamlSettingsGUI:
+ Collaboration diagram for ilSamlSettingsGUI:

Public Member Functions

 __construct (private readonly int $ref_id)
 
 getUnsafeGetCommands ()
 This method must return a list of unsafe GET commands. More...
 
 getSafePostCommands ()
 This method must return a list of safe POST commands. More...
 
 getRefId ()
 
 executeCommand ()
 

Data Fields

const string DEFAULT_CMD = 'listIdps'
 

Private Member Functions

 ensureAccess (string $operation)
 
 ensureWriteAccess ()
 
 ensureReadAccess ()
 
 getIdpIdOrZero ()
 
 initIdp ()
 
 listIdps ()
 
 handleTableActions ()
 
 deactivateIdp ()
 
 activateIdp ()
 
 setSubTabs (int $a_view_mode)
 
 initUserAttributeMapping ()
 
 getUserAttributeMappingForm ()
 
 addAttributeRuleFieldToForm (ilPropertyFormGUI $form, string $field_label, string $field_name)
 
 saveUserAttributeMapping ()
 
 showUserAttributeMappingForm (?ilPropertyFormGUI $form=null)
 
 getSettingsForm (array $values=[])
 
 prepareRoleSelection ()
 
 saveSettings ()
 
 showSettings (?StandardForm $form=null)
 
 showIdpSettings (?StandardForm $form=null)
 
 saveIdpSettings ()
 
 getIdpForm ()
 
 saveNewIdp ()
 
 showNewIdpForm (?StandardForm $form=null)
 
 populateWithMetadata (ilSamlIdp $idp, array &$data)
 
 storeMetadata (ilSamlIdp $idp, string $metadata)
 
 confirmDeleteIdp ()
 
 deleteIdp ()
 

Private Attributes

const int VIEW_MODE_GLOBAL = 1
 
const int VIEW_MODE_SINGLE = 2
 
const string PERMISSION_WRITE = 'write'
 
const string REQUEST_PARAM_SAML_IDP_ID = 'saml_idp_id'
 
const string REQUEST_PARAM_SAML_IDP_IDS = 'saml_idp_ids'
 
const string MESSAGE_TYPE_FAILURE = 'failure'
 
const string MESSAGE_TYPE_SUCCESS = 'success'
 
const string LNG_SAVED_SUCCESSFULLY = 'saved_successfully'
 
const string LNG_AUTH_SAML_USER_MAPPING = 'auth_saml_user_mapping'
 
const string LNG_LOGIN_FORM = 'login_form'
 
const string LNG_CANCEL = 'cancel'
 
const string CMD_SHOW_SETTINGS = 'showSettings'
 
const string CMD_SAVE_NEW_IDP = 'saveNewIdp'
 
const string CMD_SAVE_SETTINGS = 'saveSettings'
 
const string CMD_SHOW_IDP_SETTINGS = 'showIdpSettings'
 
const string CMT_SAVE_IDP_SETTINGS = 'saveIdpSettings'
 
const string CMD_SAVE = 'save'
 
const string CMD_SAVE_USER_ATTRIBUTE_MAPPING = 'saveUserAttributeMapping'
 
const string PROP_UPDATE_SUFFIX = '_update'
 
const string METADATA_STORAGE_KEY = 'metadata'
 
const array GLOBAL_COMMANDS
 
const array GLOBAL_ENTITY_COMMANDS
 
const array IGNORED_USER_FIELDS
 
readonly ilCtrlInterface $ctrl
 
readonly ilLanguage $lng
 
readonly ilGlobalTemplateInterface $tpl
 
readonly RBACServices $rbac
 
readonly ilErrorHandling $error_handler
 
readonly ilTabsGUI $tabs
 
readonly ilToolbarGUI $toolbar
 
readonly GlobalHttpState $http_state
 
readonly Refinery $refinery
 
readonly ilHelpGUI $help
 
ilExternalAuthUserAttributeMapping $mapping = null
 
ilSamlIdp $idp = null
 
ilSamlAuth $saml_auth = null
 
readonly ILIAS UI Factory $ui_factory
 
readonly ILIAS UI Renderer $ui_renderer
 

Detailed Description

Definition at line 28 of file class.ilSamlSettingsGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilSamlSettingsGUI::__construct ( private readonly int  $ref_id)

Definition at line 114 of file class.ilSamlSettingsGUI.php.

References $DIC, ILIAS\Repository\ctrl(), ILIAS\Repository\help(), ILIAS\Repository\lng(), ILIAS\Repository\rbac(), ILIAS\Repository\refinery(), ILIAS\Repository\tabs(), and ILIAS\Repository\toolbar().

115  {
116  global $DIC;
117 
118  $this->ctrl = $DIC->ctrl();
119  $this->tpl = $DIC->ui()->mainTemplate();
120  $this->lng = $DIC->language();
121  $this->rbac = $DIC->rbac();
122  $this->error_handler = $DIC['ilErr'];
123  $this->tabs = $DIC->tabs();
124  $this->toolbar = $DIC['ilToolbar'];
125  $this->help = $DIC['ilHelp'];
126  $this->http_state = $DIC->http();
127  $this->refinery = $DIC->refinery();
128  $this->ui_factory = $DIC->ui()->factory();
129  $this->ui_renderer = $DIC->ui()->renderer();
130 
131  $this->lng->loadLanguageModule('auth');
132  }
global $DIC
Definition: shib_login.php:26
+ Here is the call graph for this function:

Member Function Documentation

◆ activateIdp()

ilSamlSettingsGUI::activateIdp ( )
private

Definition at line 341 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), ensureWriteAccess(), and ILIAS\Repository\lng().

Referenced by handleTableActions().

341  : void
342  {
343  $this->ensureWriteAccess();
344 
345  $this->idp->setActive(true);
346  $this->idp->persist();
347 
348  $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY), true);
349  $this->ctrl->redirect($this, self::DEFAULT_CMD);
350  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addAttributeRuleFieldToForm()

ilSamlSettingsGUI::addAttributeRuleFieldToForm ( ilPropertyFormGUI  $form,
string  $field_label,
string  $field_name 
)
private

Definition at line 433 of file class.ilSamlSettingsGUI.php.

References ilPropertyFormGUI\addItem(), and ILIAS\Repository\lng().

Referenced by getUserAttributeMappingForm().

437  : void {
438  $field = new ilTextInputGUI($field_label, $field_name);
439  $form->addItem($field);
440 
441  $update_automatically = new ilCheckboxInputGUI('', $field_name . self::PROP_UPDATE_SUFFIX);
442  $update_automatically->setOptionTitle($this->lng->txt('auth_saml_update_field_info'));
443  $update_automatically->setValue('1');
444  $form->addItem($update_automatically);
445  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ confirmDeleteIdp()

ilSamlSettingsGUI::confirmDeleteIdp ( )
private

Definition at line 768 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), ensureWriteAccess(), and ILIAS\Repository\lng().

Referenced by handleTableActions().

768  : void
769  {
770  $this->ensureWriteAccess();
771 
772  $confirmation = new ilConfirmationGUI();
773  $confirmation->setFormAction($this->ctrl->getFormAction($this, 'deleteIdp'));
774  $confirmation->setConfirm($this->lng->txt('confirm'), 'deleteIdp');
775  $confirmation->setCancel($this->lng->txt(self::LNG_CANCEL), self::DEFAULT_CMD);
776  $confirmation->setHeaderText($this->lng->txt('auth_saml_sure_delete_idp'));
777  $confirmation->addItem(
778  self::REQUEST_PARAM_SAML_IDP_IDS,
779  (string) $this->idp->getIdpId(),
780  $this->idp->getEntityId()
781  );
782 
783  $this->tpl->setContent($confirmation->getHTML());
784  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deactivateIdp()

ilSamlSettingsGUI::deactivateIdp ( )
private

Definition at line 330 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), ensureWriteAccess(), and ILIAS\Repository\lng().

Referenced by handleTableActions().

330  : void
331  {
332  $this->ensureWriteAccess();
333 
334  $this->idp->setActive(false);
335  $this->idp->persist();
336 
337  $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY), true);
338  $this->ctrl->redirect($this, self::DEFAULT_CMD);
339  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteIdp()

ilSamlSettingsGUI::deleteIdp ( )
private

Definition at line 786 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), ensureWriteAccess(), ILIAS\Repository\lng(), and null.

786  : void
787  {
788  $this->ensureWriteAccess();
789 
790  $idp_disco = $this->saml_auth->getIdpDiscovery();
791  $idp_disco->deleteIdpMetadata($this->idp->getIdpId());
792 
793  $this->idp->delete();
794 
795  $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt('auth_saml_deleted_idp'), true);
796 
797  $this->ctrl->setParameter($this, self::REQUEST_PARAM_SAML_IDP_ID, null);
798  $this->ctrl->redirect($this, self::DEFAULT_CMD);
799  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ ensureAccess()

ilSamlSettingsGUI::ensureAccess ( string  $operation)
private

Definition at line 134 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\lng(), and ILIAS\Repository\rbac().

Referenced by ensureReadAccess(), and ensureWriteAccess().

134  : void
135  {
136  if (!$this->rbac->system()->checkAccess($operation, $this->ref_id)) {
137  $this->error_handler->raiseError($this->lng->txt('msg_no_perm_read'), $this->error_handler->WARNING);
138  }
139  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ensureReadAccess()

ilSamlSettingsGUI::ensureReadAccess ( )
private

Definition at line 158 of file class.ilSamlSettingsGUI.php.

References ensureAccess().

Referenced by executeCommand().

158  : void
159  {
160  $this->ensureAccess('read');
161  }
ensureAccess(string $operation)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ensureWriteAccess()

ilSamlSettingsGUI::ensureWriteAccess ( )
private

Definition at line 153 of file class.ilSamlSettingsGUI.php.

References ensureAccess().

Referenced by activateIdp(), confirmDeleteIdp(), deactivateIdp(), deleteIdp(), saveIdpSettings(), saveNewIdp(), saveSettings(), saveUserAttributeMapping(), and showNewIdpForm().

153  : void
154  {
155  $this->ensureAccess(self::PERMISSION_WRITE);
156  }
ensureAccess(string $operation)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilSamlSettingsGUI::executeCommand ( )

Definition at line 219 of file class.ilSamlSettingsGUI.php.

References Vendor\Package\$e, ILIAS\Repository\ctrl(), ensureReadAccess(), getIdpIdOrZero(), ILIAS\Repository\help(), initIdp(), initUserAttributeMapping(), ILIAS\Repository\lng(), null, and setSubTabs().

219  : void
220  {
221  $this->ensureReadAccess();
222 
223  try {
224  $factory = new ilSamlAuthFactory();
225  $this->saml_auth = $factory->auth();
226  } catch (Throwable $e) {
227  if ($e->getMessage() === 'Database error: could not find driver') {
228  $this->tpl->setOnScreenMessage(
229  self::MESSAGE_TYPE_FAILURE,
230  $this->lng->txt('auth_saml_err_sqlite_driver')
231  );
232  } else {
233  $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_FAILURE, $e->getMessage());
234  }
235  }
236 
237  $this->help->setScreenIdComponent('auth');
238  $cmd = $this->ctrl->getCmd();
239  if ($cmd === null || $cmd === '' || !method_exists($this, $cmd)) {
240  $cmd = self::DEFAULT_CMD;
241  }
242 
243  $idp_id = $this->getIdpIdOrZero();
244 
245  if ($idp_id > 0) {
246  $this->ctrl->setParameter($this, self::REQUEST_PARAM_SAML_IDP_ID, $idp_id);
247  }
248 
249  if (!in_array(strtolower($cmd), array_map('strtolower', self::GLOBAL_COMMANDS), true)) {
250  if ($idp_id === 0) {
251  $this->ctrl->redirect($this, self::DEFAULT_CMD);
252  }
253 
254  $this->initIdp();
255  $this->initUserAttributeMapping();
256  }
257 
258  if (in_array(strtolower($cmd), array_map('strtolower', self::GLOBAL_COMMANDS), true) ||
259  in_array(strtolower($cmd), array_map('strtolower', self::GLOBAL_ENTITY_COMMANDS), true)) {
260  $this->setSubTabs(self::VIEW_MODE_GLOBAL);
261  } else {
262  $this->setSubTabs(self::VIEW_MODE_SINGLE);
263  }
264 
265  $this->$cmd();
266  }
setSubTabs(int $a_view_mode)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ getIdpForm()

ilSamlSettingsGUI::getIdpForm ( )
private

Definition at line 694 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\UI\Implementation\Component\Input\withValue().

Referenced by saveNewIdp(), and showNewIdpForm().

694  : StandardForm
695  {
696  return $this->ui_factory->input()->container()->form()->standard(
697  $this->ctrl->getFormAction($this, self::CMD_SAVE_NEW_IDP),
698  [
699  self::METADATA_STORAGE_KEY => $this->ui_factory
700  ->input()
701  ->field()
702  ->textarea(
703  $this->lng->txt('auth_saml_add_idp_md_label'),
704  $this->lng->txt('auth_saml_add_idp_md_info')
705  )
706  ->withValue($values[self::METADATA_STORAGE_KEY] ?? '')
707  ->withRequired(true)
708  ->withDedicatedName(self::METADATA_STORAGE_KEY),
709  ]
710  );
711  }
withValue($value)
Get an input like this with another value displayed on the client side.
Definition: Group.php:61
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIdpIdOrZero()

ilSamlSettingsGUI::getIdpIdOrZero ( )
private

Definition at line 168 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\refinery().

Referenced by executeCommand(), and initIdp().

168  : int
169  {
170  $idpId = 0;
171  if ($this->http_state->wrapper()->query()->has(self::REQUEST_PARAM_SAML_IDP_ID)) {
172  $idpId = $this->http_state->wrapper()->query()->retrieve(
173  self::REQUEST_PARAM_SAML_IDP_ID,
174  $this->refinery->kindlyTo()->int()
175  );
176  } elseif ($this->http_state->wrapper()->post()->has(self::REQUEST_PARAM_SAML_IDP_ID)) {
177  $idpId = $this->http_state->wrapper()->post()->retrieve(
178  self::REQUEST_PARAM_SAML_IDP_ID,
179  $this->refinery->kindlyTo()->int()
180  );
181  }
182 
183  if ($this->http_state->wrapper()->query()->has('saml_idps_table_action')) {
184  if ($this->http_state->wrapper()->query()->has('saml_idps_idp_id')) {
185  $idpIds = $this->http_state->wrapper()->query()->retrieve(
186  'saml_idps_idp_id',
187  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
188  );
189  if (count($idpIds) === 1) {
190  $idpId = current($idpIds);
191  }
192  }
193  }
194 
195  if ($this->http_state->wrapper()->post()->has(self::REQUEST_PARAM_SAML_IDP_IDS)) {
196  $idpIds = $this->http_state->wrapper()->post()->retrieve(
197  self::REQUEST_PARAM_SAML_IDP_IDS,
198  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
199  );
200  if (count($idpIds) === 1) {
201  $idpId = current($idpIds);
202  }
203  }
204 
205  return $idpId;
206  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRefId()

ilSamlSettingsGUI::getRefId ( )

Definition at line 163 of file class.ilSamlSettingsGUI.php.

References $ref_id.

163  : int
164  {
165  return $this->ref_id;
166  }
$ref_id
Definition: ltiauth.php:65

◆ getSafePostCommands()

ilSamlSettingsGUI::getSafePostCommands ( )

This method must return a list of safe POST commands.

Safe post commands returned by this method will no longer be CSRF protected and will NOT be appended by an ilCtrlToken.

Returns
string[]

Implements ilCtrlSecurityInterface.

Definition at line 148 of file class.ilSamlSettingsGUI.php.

148  : array
149  {
150  return [];
151  }

◆ getSettingsForm()

ilSamlSettingsGUI::getSettingsForm ( array  $values = [])
private
Parameters
array<string,mixed>$values

Definition at line 506 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\Repository\rbac(), and ILIAS\UI\Implementation\Component\Input\withValue().

Referenced by saveSettings(), and showSettings().

506  : StandardForm
507  {
508  $access = $this->rbac->system()->checkAccess(self::PERMISSION_WRITE, $this->ref_id);
509  $form = $this->ui_factory->input()->container()->form()->standard(
510  $this->ctrl->getFormAction($this, $access ? self::CMD_SAVE_SETTINGS : self::CMD_SHOW_SETTINGS),
511  [
512  self::LNG_LOGIN_FORM => $this->ui_factory->input()->field()->checkbox(
513  $this->lng->txt('auth_saml_login_form'),
514  $this->lng->txt('auth_saml_login_form_info')
515  )
516  ->withValue((bool) ($values[self::LNG_LOGIN_FORM] ?? true))
517  ->withDisabled(!$access),
518  ]
519  );
520 
521  if (!$access) {
522  $form = $form->withSubmitLabel($this->lng->txt('refresh'));
523  }
524 
525  return $form;
526  }
withValue($value)
Get an input like this with another value displayed on the client side.
Definition: Group.php:61
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUnsafeGetCommands()

ilSamlSettingsGUI::getUnsafeGetCommands ( )

This method must return a list of unsafe GET commands.

Unsafe get commands returned by this method will now be CSRF protected, which means an ilCtrlToken is appended each time a link-target is generated to the class implementing this interface with a command from that list.

Tokens will be validated in

See also
ilCtrlInterface::getCmd(), whereas the fallback command will be used if the CSRF validation fails.
Returns
string[]

Implements ilCtrlSecurityInterface.

Definition at line 141 of file class.ilSamlSettingsGUI.php.

141  : array
142  {
143  return [
144  'handleTableActions'
145  ];
146  }

◆ getUserAttributeMappingForm()

ilSamlSettingsGUI::getUserAttributeMappingForm ( )
private

Definition at line 403 of file class.ilSamlSettingsGUI.php.

References $id, ilUserDefinedFields\_getInstance(), addAttributeRuleFieldToForm(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\rbac().

Referenced by saveUserAttributeMapping(), and showUserAttributeMappingForm().

404  {
405  $form = new ilPropertyFormGUI();
406  $form->setFormAction($this->ctrl->getFormAction($this, self::CMD_SAVE_USER_ATTRIBUTE_MAPPING));
407  $form->setTitle($this->lng->txt(self::LNG_AUTH_SAML_USER_MAPPING));
408 
409  $usr_profile = new ilUserProfile();
410  foreach (array_keys($usr_profile->getStandardFields()) as $id) {
411  if (in_array($id, self::IGNORED_USER_FIELDS, true)) {
412  continue;
413  }
414 
415  $this->addAttributeRuleFieldToForm($form, $this->lng->txt($id), $id);
416  }
417 
418  foreach (ilUserDefinedFields::_getInstance()->getDefinitions() as $definition) {
419  $this->addAttributeRuleFieldToForm($form, $definition['field_name'], 'udf_' . $definition['field_id']);
420  }
421 
422  if ($this->rbac->system()->checkAccess(self::PERMISSION_WRITE, $this->ref_id)) {
423  $form->addCommandButton(self::CMD_SAVE_USER_ATTRIBUTE_MAPPING, $this->lng->txt(self::CMD_SAVE));
424  } else {
425  foreach ($form->getItems() as $item) {
426  $item->setDisabled(true);
427  }
428  }
429 
430  return $form;
431  }
Class ilUserProfile.
addAttributeRuleFieldToForm(ilPropertyFormGUI $form, string $field_label, string $field_name)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleTableActions()

ilSamlSettingsGUI::handleTableActions ( )
private

Definition at line 312 of file class.ilSamlSettingsGUI.php.

References activateIdp(), confirmDeleteIdp(), ILIAS\Repository\ctrl(), deactivateIdp(), ILIAS\Repository\refinery(), and showIdpSettings().

312  : void
313  {
314  $action = $this->http_state->wrapper()->query()->retrieve(
315  'saml_idps_table_action',
316  $this->refinery->byTrying([
317  $this->refinery->kindlyTo()->string(),
318  $this->refinery->always('')
319  ])
320  );
321  match ($action) {
322  'showIdpSettings' => $this->showIdpSettings(),
323  'activateIdp' => $this->activateIdp(),
324  'deactivateIdp' => $this->deactivateIdp(),
325  'confirmDeleteIdp' => $this->confirmDeleteIdp(),
326  default => $this->ctrl->redirect($this, self::DEFAULT_CMD),
327  };
328  }
showIdpSettings(?StandardForm $form=null)
+ Here is the call graph for this function:

◆ initIdp()

ilSamlSettingsGUI::initIdp ( )
private

Definition at line 208 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), getIdpIdOrZero(), ilSamlIdp\getInstanceByIdpId(), ILIAS\Repository\lng(), and null.

Referenced by executeCommand().

208  : void
209  {
210  try {
211  $this->idp = ilSamlIdp::getInstanceByIdpId($this->getIdpIdOrZero());
212  } catch (Exception) {
213  $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_FAILURE, $this->lng->txt('auth_saml_unknow_idp'), true);
214  $this->ctrl->setParameter($this, self::REQUEST_PARAM_SAML_IDP_ID, null);
215  $this->ctrl->redirect($this, self::DEFAULT_CMD);
216  }
217  }
static getInstanceByIdpId(int $a_idp_id)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initUserAttributeMapping()

ilSamlSettingsGUI::initUserAttributeMapping ( )
private

Definition at line 398 of file class.ilSamlSettingsGUI.php.

Referenced by executeCommand().

398  : void
399  {
400  $this->mapping = new ilExternalAuthUserAttributeMapping('saml', $this->idp->getIdpId());
401  }
+ Here is the caller graph for this function:

◆ listIdps()

ilSamlSettingsGUI::listIdps ( )
private

Definition at line 268 of file class.ilSamlSettingsGUI.php.

References $info, CLIENT_ID, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\Repository\rbac(), and ILIAS\Repository\toolbar().

268  : void
269  {
270  if ($this->saml_auth && $this->rbac->system()->checkAccess(self::PERMISSION_WRITE, $this->ref_id)) {
271  $this->toolbar->addStickyItem(
272  $this->ui_factory->button()->standard(
273  $this->lng->txt('auth_saml_add_idp_btn'),
274  $this->ctrl->getLinkTarget($this, 'showNewIdpForm')
275  )
276  );
277  }
278 
279  $federation_md_url = rtrim(
280  ILIAS_HTTP_PATH,
281  '/'
282  ) . '/metadata.php?client_id=' . CLIENT_ID;
283  $info = $this->ui_factory->messageBox()->info(
284  sprintf(
285  $this->lng->txt('auth_saml_idps_info'),
286  'auth/saml/config/config.php',
287  'auth/saml/config/authsources.php',
288  $this->ui_renderer->render(
289  $this->ui_factory->link()->standard(
290  'https://simplesamlphp.org/docs/stable/simplesamlphp-sp',
291  'https://simplesamlphp.org/docs/stable/simplesamlphp-sp'
292  )
293  ),
294  $this->ui_renderer->render($this->ui_factory->link()->standard($federation_md_url, $federation_md_url))
295  )
296  );
297 
298  $table = new ilSamlIdpTableGUI(
299  $this,
300  $this->ui_factory,
301  $this->ui_renderer,
302  $this->lng,
303  $this->ctrl,
304  $this->http_state->request(),
305  new Factory(),
306  'handleTableActions',
307  $this->rbac->system()->checkAccess(self::PERMISSION_WRITE, $this->ref_id)
308  );
309  $this->tpl->setContent($this->ui_renderer->render([$info, $table->get()]));
310  }
const CLIENT_ID
Definition: constants.php:41
Builds data types.
Definition: Factory.php:35
$info
Definition: entry_point.php:21
+ Here is the call graph for this function:

◆ populateWithMetadata()

ilSamlSettingsGUI::populateWithMetadata ( ilSamlIdp  $idp,
array &  $data 
)
private

Definition at line 755 of file class.ilSamlSettingsGUI.php.

References ilSamlIdp\getIdpId().

Referenced by showIdpSettings().

755  : void
756  {
757  $idp_disco = $this->saml_auth->getIdpDiscovery();
758 
759  $data[self::METADATA_STORAGE_KEY] = $idp_disco->fetchIdpMetadata($idp->getIdpId());
760  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ prepareRoleSelection()

ilSamlSettingsGUI::prepareRoleSelection ( )
private
Returns
array<int, string>

Definition at line 531 of file class.ilSamlSettingsGUI.php.

References ilObject\_lookupTitle(), ilUtil\_sortIds(), ILIAS\Repository\lng(), and ILIAS\Repository\rbac().

Referenced by showSettings().

531  : array
532  {
533  $select = [];
534  $global_roles = array_map(
535  intval(...),
537  $this->rbac->review()->getGlobalRoles(),
538  'object_data',
539  'title',
540  'obj_id'
541  )
542  );
543 
544  $select[0] = $this->lng->txt('links_select_one');
545  foreach ($global_roles as $role_id) {
546  $select[$role_id] = ilObject::_lookupTitle($role_id);
547  }
548 
549  return $select;
550  }
static _lookupTitle(int $obj_id)
static _sortIds(array $a_ids, string $a_table, string $a_field, string $a_id_name)
Function that sorts ids by a given table field using WHERE IN E.g: __sort(array(6,7),&#39;usr_data&#39;,&#39;lastname&#39;,&#39;usr_id&#39;) => sorts by lastname.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveIdpSettings()

ilSamlSettingsGUI::saveIdpSettings ( )
private

Definition at line 672 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), ensureWriteAccess(), ILIAS\Repository\lng(), showIdpSettings(), and storeMetadata().

672  : void
673  {
674  $this->ensureWriteAccess();
675 
676  $form = $this->getIdpSettingsForm()->withRequest($this->http_state->request());
677 
678  if (!$form->getError()) {
679  $this->idp->bindForm($form);
680  $this->idp->persist();
681 
682  $this->storeMetadata($this->idp, $form->getData()[self::METADATA_STORAGE_KEY] ?? '');
683  $this->tpl->setOnScreenMessage(
684  self::MESSAGE_TYPE_SUCCESS,
685  $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY),
686  true
687  );
688  }
689 
690  $this->ctrl->redirect($this, self::CMD_SHOW_IDP_SETTINGS);
691  $this->showIdpSettings($form);
692  }
storeMetadata(ilSamlIdp $idp, string $metadata)
showIdpSettings(?StandardForm $form=null)
+ Here is the call graph for this function:

◆ saveNewIdp()

ilSamlSettingsGUI::saveNewIdp ( )
private

Definition at line 713 of file class.ilSamlSettingsGUI.php.

References ilSamlIdp\bindForm(), ILIAS\Repository\ctrl(), ensureWriteAccess(), getIdpForm(), ilSamlIdp\getIdpId(), ILIAS\Repository\lng(), ilSamlIdp\persist(), showNewIdpForm(), and storeMetadata().

713  : void
714  {
715  $this->ensureWriteAccess();
716 
717  $form = $this->getIdpForm();
718  if (!$form->getError()) {
719  $idp = new ilSamlIdp();
720  $idp->bindForm($form);
721  $idp->persist();
722  $this->storeMetadata($this->idp, $form->getData()[self::METADATA_STORAGE_KEY] ?? '');
723 
724  $this->tpl->setOnScreenMessage(
725  self::MESSAGE_TYPE_SUCCESS,
726  $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY),
727  true
728  );
729  $this->ctrl->setParameter($this, self::REQUEST_PARAM_SAML_IDP_ID, $idp->getIdpId());
730  $this->ctrl->redirect($this, self::CMD_SHOW_IDP_SETTINGS);
731  }
732 
733  $this->showNewIdpForm($form);
734  }
storeMetadata(ilSamlIdp $idp, string $metadata)
bindForm(StandardForm $form)
showNewIdpForm(?StandardForm $form=null)
+ Here is the call graph for this function:

◆ saveSettings()

ilSamlSettingsGUI::saveSettings ( )
private

Definition at line 552 of file class.ilSamlSettingsGUI.php.

References $data, ensureWriteAccess(), ilSamlSettings\getInstance(), getSettingsForm(), ILIAS\Repository\lng(), and showSettings().

552  : void
553  {
554  $this->ensureWriteAccess();
555 
556  $form = $this->getSettingsForm()->withRequest($this->http_state->request());
557  if (!$form->getError()) {
558  $data = $form->getData();
559  ilSamlSettings::getInstance()->setLoginFormStatus($data[self::LNG_LOGIN_FORM]);
560  $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY));
561  }
562 
563  $this->showSettings($form);
564  }
showSettings(?StandardForm $form=null)
getSettingsForm(array $values=[])
+ Here is the call graph for this function:

◆ saveUserAttributeMapping()

ilSamlSettingsGUI::saveUserAttributeMapping ( )
private

Definition at line 447 of file class.ilSamlSettingsGUI.php.

References $id, ilUserDefinedFields\_getInstance(), ensureWriteAccess(), getUserAttributeMappingForm(), ILIAS\Repository\lng(), and showUserAttributeMappingForm().

447  : void
448  {
449  $this->ensureWriteAccess();
450 
451  $form = $this->getUserAttributeMappingForm();
452  if ($form->checkInput()) {
453  $this->mapping->delete();
454 
455  $usr_profile = new ilUserProfile();
456  foreach (array_keys($usr_profile->getStandardFields()) as $id) {
457  if (in_array($id, self::IGNORED_USER_FIELDS, true)) {
458  continue;
459  }
460 
461  $rule = $this->mapping->getEmptyRule();
462  $rule->setAttribute($id);
463  $rule->setExternalAttribute((string) $form->getInput($rule->getAttribute()));
464  $rule->updateAutomatically((bool) $form->getInput($rule->getAttribute() . self::PROP_UPDATE_SUFFIX));
465  $this->mapping[$rule->getAttribute()] = $rule;
466  }
467 
468  foreach (ilUserDefinedFields::_getInstance()->getDefinitions() as $definition) {
469  $rule = $this->mapping->getEmptyRule();
470  $rule->setAttribute('udf_' . $definition['field_id']);
471  $rule->setExternalAttribute((string) $form->getInput($rule->getAttribute()));
472  $rule->updateAutomatically((bool) $form->getInput($rule->getAttribute() . self::PROP_UPDATE_SUFFIX));
473  $this->mapping[$rule->getAttribute()] = $rule;
474  }
475 
476  $this->mapping->save();
477 
478  $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY));
479  }
480 
481  $form->setValuesByPost();
482 
483  $this->showUserAttributeMappingForm($form);
484  }
Class ilUserProfile.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
showUserAttributeMappingForm(?ilPropertyFormGUI $form=null)
+ Here is the call graph for this function:

◆ setSubTabs()

ilSamlSettingsGUI::setSubTabs ( int  $a_view_mode)
private

Definition at line 352 of file class.ilSamlSettingsGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\tabs().

Referenced by executeCommand().

352  : void
353  {
354  switch ($a_view_mode) {
355  case self::VIEW_MODE_GLOBAL:
356  $this->tabs->addSubTabTarget(
357  'auth_saml_idps',
358  $this->ctrl->getLinkTarget($this, self::DEFAULT_CMD),
359  array_merge(
360  self::GLOBAL_ENTITY_COMMANDS,
361  [self::DEFAULT_CMD, 'showNewIdpForm', self::CMD_SAVE_NEW_IDP]
362  ),
363  self::class
364  );
365 
366  $this->tabs->addSubTabTarget(
367  'settings',
368  $this->ctrl->getLinkTarget($this, self::CMD_SHOW_SETTINGS),
369  [self::CMD_SHOW_SETTINGS, self::CMD_SAVE_SETTINGS],
370  self::class
371  );
372  break;
373 
374  case self::VIEW_MODE_SINGLE:
375  $this->tabs->clearTargets();
376  $this->tabs->setBackTarget(
377  $this->lng->txt('back'),
378  $this->ctrl->getLinkTarget($this, self::DEFAULT_CMD)
379  );
380 
381  $this->tabs->addSubTabTarget(
382  'auth_saml_idp_settings',
383  $this->ctrl->getLinkTarget($this, self::CMD_SHOW_IDP_SETTINGS),
384  [self::CMD_SHOW_IDP_SETTINGS, self::CMT_SAVE_IDP_SETTINGS],
385  self::class
386  );
387 
388  $this->tabs->addSubTabTarget(
389  self::LNG_AUTH_SAML_USER_MAPPING,
390  $this->ctrl->getLinkTarget($this, 'showUserAttributeMappingForm'),
391  ['showUserAttributeMappingForm', self::CMD_SAVE_USER_ATTRIBUTE_MAPPING],
392  self::class
393  );
394  break;
395  }
396  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showIdpSettings()

ilSamlSettingsGUI::showIdpSettings ( ?StandardForm  $form = null)
private

Definition at line 650 of file class.ilSamlSettingsGUI.php.

References $data, ILIAS\Repository\help(), ILIAS\Repository\lng(), populateWithMetadata(), and ILIAS\Repository\tabs().

Referenced by handleTableActions(), and saveIdpSettings().

650  : void
651  {
652  $this->tabs->setSubTabActive('auth_saml_idp_settings');
653 
654  if (!$form) {
655  $data = $this->idp->toArray();
656  $this->populateWithMetadata($this->idp, $data);
657  $form = $this->getIdpSettingsForm($data);
658  }
659 
660  $this->help->setSubScreenId('edit_idp');
661 
662  $title = $this->ui_factory->item()->standard(
663  sprintf($this->lng->txt('auth_saml_configure_idp'), $this->idp->getEntityId())
664  );
665 
666  $this->tpl->setContent($this->ui_renderer->render([
667  $title,
668  $form
669  ]));
670  }
populateWithMetadata(ilSamlIdp $idp, array &$data)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showNewIdpForm()

ilSamlSettingsGUI::showNewIdpForm ( ?StandardForm  $form = null)
private

Definition at line 736 of file class.ilSamlSettingsGUI.php.

References ensureWriteAccess(), getIdpForm(), ILIAS\Repository\help(), ILIAS\Repository\lng(), and null.

Referenced by saveNewIdp().

736  : void
737  {
738  $this->ensureWriteAccess();
739 
740  if ($form === null) {
741  $form = $this->getIdpForm();
742  } else {
743  $form = $form->withRequest($this->http_state->request());
744  }
745 
746  $this->help->setSubScreenId('create_idp');
747 
748  $title = $this->ui_factory->item()->standard($this->lng->txt('auth_saml_add_idp_btn'));
749  $this->tpl->setContent($this->ui_renderer->render([
750  $title,
751  $form
752  ]));
753  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showSettings()

ilSamlSettingsGUI::showSettings ( ?StandardForm  $form = null)
private

Definition at line 566 of file class.ilSamlSettingsGUI.php.

References ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\Repository\ctrl(), ilSamlSettings\getInstance(), getSettingsForm(), ILIAS\Repository\lng(), null, prepareRoleSelection(), ILIAS\Repository\rbac(), ILIAS\UI\Component\Input\Container\Form\FormInput\withDisabled(), and ILIAS\UI\Implementation\Component\Input\withValue().

Referenced by saveSettings().

566  : void
567  {
568  if (!$form) {
569  $form = $this->getSettingsForm([
570  self::LNG_LOGIN_FORM => ilSamlSettings::getInstance()->isDisplayedOnLoginPage()
571  ]);
572  }
573 
574  $title = $this->ui_factory->item()->standard($this->lng->txt('auth_saml_configure'));
575  $this->tpl->setContent($this->ui_renderer->render([
576  $title,
577  $form
578  ]));
579  }
getSettingsForm(array $values=[])
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showUserAttributeMappingForm()

ilSamlSettingsGUI::showUserAttributeMappingForm ( ?ilPropertyFormGUI  $form = null)
private

Definition at line 486 of file class.ilSamlSettingsGUI.php.

References $data, getUserAttributeMappingForm(), and ILIAS\Repository\tabs().

Referenced by saveUserAttributeMapping().

486  : void
487  {
488  $this->tabs->setSubTabActive(self::LNG_AUTH_SAML_USER_MAPPING);
489 
490  if (!($form instanceof ilPropertyFormGUI)) {
491  $form = $this->getUserAttributeMappingForm();
492  $data = [];
493  foreach ($this->mapping as $rule) {
494  $data[$rule->getAttribute()] = $rule->getExternalAttribute();
495  $data[$rule->getAttribute() . self::PROP_UPDATE_SUFFIX] = $rule->isAutomaticallyUpdated();
496  }
497  $form->setValuesByArray($data);
498  }
499 
500  $this->tpl->setContent($form->getHTML());
501  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ storeMetadata()

ilSamlSettingsGUI::storeMetadata ( ilSamlIdp  $idp,
string  $metadata 
)
private

Definition at line 762 of file class.ilSamlSettingsGUI.php.

References ilSamlIdp\getIdpId().

Referenced by saveIdpSettings(), and saveNewIdp().

762  : void
763  {
764  $idp_disco = $this->saml_auth->getIdpDiscovery();
765  $idp_disco->storeIdpMetadata($idp->getIdpId(), $metadata);
766  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

readonly ilCtrlInterface ilSamlSettingsGUI::$ctrl
private

Definition at line 98 of file class.ilSamlSettingsGUI.php.

◆ $error_handler

readonly ilErrorHandling ilSamlSettingsGUI::$error_handler
private

Definition at line 102 of file class.ilSamlSettingsGUI.php.

◆ $help

readonly ilHelpGUI ilSamlSettingsGUI::$help
private

Definition at line 107 of file class.ilSamlSettingsGUI.php.

◆ $http_state

readonly GlobalHttpState ilSamlSettingsGUI::$http_state
private

Definition at line 105 of file class.ilSamlSettingsGUI.php.

◆ $idp

ilSamlIdp ilSamlSettingsGUI::$idp = null
private

Definition at line 109 of file class.ilSamlSettingsGUI.php.

◆ $lng

readonly ilLanguage ilSamlSettingsGUI::$lng
private

Definition at line 99 of file class.ilSamlSettingsGUI.php.

◆ $mapping

ilExternalAuthUserAttributeMapping ilSamlSettingsGUI::$mapping = null
private

Definition at line 108 of file class.ilSamlSettingsGUI.php.

◆ $rbac

readonly RBACServices ilSamlSettingsGUI::$rbac
private

Definition at line 101 of file class.ilSamlSettingsGUI.php.

◆ $refinery

readonly Refinery ilSamlSettingsGUI::$refinery
private

Definition at line 106 of file class.ilSamlSettingsGUI.php.

◆ $saml_auth

ilSamlAuth ilSamlSettingsGUI::$saml_auth = null
private

Definition at line 110 of file class.ilSamlSettingsGUI.php.

◆ $tabs

readonly ilTabsGUI ilSamlSettingsGUI::$tabs
private

Definition at line 103 of file class.ilSamlSettingsGUI.php.

◆ $toolbar

readonly ilToolbarGUI ilSamlSettingsGUI::$toolbar
private

Definition at line 104 of file class.ilSamlSettingsGUI.php.

◆ $tpl

readonly ilGlobalTemplateInterface ilSamlSettingsGUI::$tpl
private

Definition at line 100 of file class.ilSamlSettingsGUI.php.

◆ $ui_factory

readonly ILIAS UI Factory ilSamlSettingsGUI::$ui_factory
private

Definition at line 111 of file class.ilSamlSettingsGUI.php.

◆ $ui_renderer

readonly ILIAS UI Renderer ilSamlSettingsGUI::$ui_renderer
private

Definition at line 112 of file class.ilSamlSettingsGUI.php.

◆ CMD_SAVE

const string ilSamlSettingsGUI::CMD_SAVE = 'save'
private

Definition at line 53 of file class.ilSamlSettingsGUI.php.

◆ CMD_SAVE_NEW_IDP

const string ilSamlSettingsGUI::CMD_SAVE_NEW_IDP = 'saveNewIdp'
private

Definition at line 49 of file class.ilSamlSettingsGUI.php.

◆ CMD_SAVE_SETTINGS

const string ilSamlSettingsGUI::CMD_SAVE_SETTINGS = 'saveSettings'
private

Definition at line 50 of file class.ilSamlSettingsGUI.php.

◆ CMD_SAVE_USER_ATTRIBUTE_MAPPING

const string ilSamlSettingsGUI::CMD_SAVE_USER_ATTRIBUTE_MAPPING = 'saveUserAttributeMapping'
private

Definition at line 54 of file class.ilSamlSettingsGUI.php.

◆ CMD_SHOW_IDP_SETTINGS

const string ilSamlSettingsGUI::CMD_SHOW_IDP_SETTINGS = 'showIdpSettings'
private

Definition at line 51 of file class.ilSamlSettingsGUI.php.

◆ CMD_SHOW_SETTINGS

const string ilSamlSettingsGUI::CMD_SHOW_SETTINGS = 'showSettings'
private

Definition at line 48 of file class.ilSamlSettingsGUI.php.

◆ CMT_SAVE_IDP_SETTINGS

const string ilSamlSettingsGUI::CMT_SAVE_IDP_SETTINGS = 'saveIdpSettings'
private

Definition at line 52 of file class.ilSamlSettingsGUI.php.

◆ DEFAULT_CMD

const string ilSamlSettingsGUI::DEFAULT_CMD = 'listIdps'

Definition at line 33 of file class.ilSamlSettingsGUI.php.

Referenced by ilObjAuthSettingsGUI\getTabs().

◆ GLOBAL_COMMANDS

const array ilSamlSettingsGUI::GLOBAL_COMMANDS
private
Initial value:
= [
self::DEFAULT_CMD,
'showAddIdpForm',
self::CMD_SHOW_SETTINGS,
self::CMD_SAVE_SETTINGS,
'showNewIdpForm',
'saveNewIdp',
]

Definition at line 61 of file class.ilSamlSettingsGUI.php.

◆ GLOBAL_ENTITY_COMMANDS

const array ilSamlSettingsGUI::GLOBAL_ENTITY_COMMANDS
private
Initial value:
= [
'deactivateIdp',
'activateIdp',
'confirmDeleteIdp',
'deleteIdp',
]

Definition at line 71 of file class.ilSamlSettingsGUI.php.

◆ IGNORED_USER_FIELDS

const array ilSamlSettingsGUI::IGNORED_USER_FIELDS
private
Initial value:
= [
'mail_incoming_mail',
'preferences',
'hide_own_online_status',
'show_users_online',
'roles',
'upload',
'password',
'username',
'language',
'skin_style',
'interests_general',
'interests_help_offered',
'interests_help_looking',
'bs_allow_to_contact_me',
'chat_osc_accept_msg',
'chat_broadcast_typing',
]

Definition at line 79 of file class.ilSamlSettingsGUI.php.

◆ LNG_AUTH_SAML_USER_MAPPING

const string ilSamlSettingsGUI::LNG_AUTH_SAML_USER_MAPPING = 'auth_saml_user_mapping'
private

Definition at line 44 of file class.ilSamlSettingsGUI.php.

◆ LNG_CANCEL

const string ilSamlSettingsGUI::LNG_CANCEL = 'cancel'
private

Definition at line 46 of file class.ilSamlSettingsGUI.php.

◆ LNG_LOGIN_FORM

const string ilSamlSettingsGUI::LNG_LOGIN_FORM = 'login_form'
private

Definition at line 45 of file class.ilSamlSettingsGUI.php.

◆ LNG_SAVED_SUCCESSFULLY

const string ilSamlSettingsGUI::LNG_SAVED_SUCCESSFULLY = 'saved_successfully'
private

Definition at line 43 of file class.ilSamlSettingsGUI.php.

◆ MESSAGE_TYPE_FAILURE

const string ilSamlSettingsGUI::MESSAGE_TYPE_FAILURE = 'failure'
private

Definition at line 40 of file class.ilSamlSettingsGUI.php.

◆ MESSAGE_TYPE_SUCCESS

const string ilSamlSettingsGUI::MESSAGE_TYPE_SUCCESS = 'success'
private

Definition at line 41 of file class.ilSamlSettingsGUI.php.

◆ METADATA_STORAGE_KEY

const string ilSamlSettingsGUI::METADATA_STORAGE_KEY = 'metadata'
private

Definition at line 58 of file class.ilSamlSettingsGUI.php.

◆ PERMISSION_WRITE

const string ilSamlSettingsGUI::PERMISSION_WRITE = 'write'
private

Definition at line 35 of file class.ilSamlSettingsGUI.php.

◆ PROP_UPDATE_SUFFIX

const string ilSamlSettingsGUI::PROP_UPDATE_SUFFIX = '_update'
private

Definition at line 56 of file class.ilSamlSettingsGUI.php.

◆ REQUEST_PARAM_SAML_IDP_ID

const string ilSamlSettingsGUI::REQUEST_PARAM_SAML_IDP_ID = 'saml_idp_id'
private

Definition at line 37 of file class.ilSamlSettingsGUI.php.

◆ REQUEST_PARAM_SAML_IDP_IDS

const string ilSamlSettingsGUI::REQUEST_PARAM_SAML_IDP_IDS = 'saml_idp_ids'
private

Definition at line 38 of file class.ilSamlSettingsGUI.php.

◆ VIEW_MODE_GLOBAL

const int ilSamlSettingsGUI::VIEW_MODE_GLOBAL = 1
private

Definition at line 30 of file class.ilSamlSettingsGUI.php.

◆ VIEW_MODE_SINGLE

const int ilSamlSettingsGUI::VIEW_MODE_SINGLE = 2
private

Definition at line 31 of file class.ilSamlSettingsGUI.php.


The documentation for this class was generated from the following file: