110 $form->setTitle($this->
lng->txt(
'auth_oidc_settings_title'));
111 $form->setFormAction($this->
ctrl->getFormAction($this));
115 $this->
lng->txt(
'auth_oidc_settings_activation'),
119 $form->addItem($activation);
123 $this->
lng->txt(
'auth_oidc_settings_provider'),
131 $this->
lng->txt(
'auth_oidc_settings_client_id'),
140 $this->
lng->txt(
'auth_oidc_settings_secret'),
143 $secret->setSkipSyntaxCheck(
true);
146 if ($this->
settings->getSecret() !==
'') {
152 $this->
lng->txt(
'auth_oidc_settings_additional_scopes'),
156 $default_scope->setDisabled(
true);
157 $form->addItem($default_scope);
164 $scopeValues = $this->
settings->getAdditionalScopes();
165 if (isset($scopeValues[0])) {
166 $scopes->setValue($scopeValues[0]);
168 $scopes->setMultiValues($scopeValues);
174 $this->
lng->txt(
'auth_oidc_settings_validate_scopes'),
177 $validation_options->
setValue((
string) $this->
settings->getValidateScopes());
178 $form->addItem($validation_options);
181 $this->
lng->txt(
'auth_oidc_settings_validate_scope_default'),
185 $validation_options->addOption($base_valid_url_option);
189 'custom_discovery_url' 193 $this->
lng->txt(
'auth_oidc_settings_validate_scope_custom'),
196 $validation_options->addOption($custom_valid_url_option);
197 $custom_validation_url->setValue($this->
settings->getCustomDiscoveryUrl() ??
'');
198 $custom_validation_url->setMaxLength(120);
199 $custom_validation_url->setInfo($this->
lng->txt(
'auth_oidc_settings_discovery_url'));
200 $custom_valid_url_option->addSubItem($custom_validation_url);
202 $this->
lng->txt(
'auth_oidc_settings_validate_scope_none'),
205 $validation_options->addOption($no_validation_option);
209 $this->
lng->txt(
'auth_oidc_settings_le'),
213 $login_element->setValue((
string) $this->
settings->getLoginElementType());
214 $form->addItem($login_element);
218 $this->
lng->txt(
'auth_oidc_settings_txt'),
221 $login_element->addOption($text_option);
228 $text->setValue($this->
settings->getLoginElemenText());
229 $text->setMaxLength(120);
230 $text->setInfo($this->
lng->txt(
'auth_oidc_settings_txt_val_info'));
231 $text_option->addSubItem($text);
235 $this->
lng->txt(
'auth_oidc_settings_img'),
238 $login_element->addOption($img_option);
244 $image->setAllowDeletion(
false);
246 if ($this->
settings->hasImageFile()) {
247 $image->setImage($this->
settings->getImageFilePath());
249 $image->setInfo($this->
lng->txt(
'auth_oidc_settings_img_file_info'));
250 $img_option->addSubItem($image);
254 $this->
lng->txt(
'auth_oidc_settings_login_options'),
261 $this->
lng->txt(
'auth_oidc_settings_login_option_enforce'),
264 $enforce->setInfo($this->
lng->txt(
'auth_oidc_settings_login_option_enforce_info'));
265 $login_options->addOption($enforce);
269 $this->
lng->txt(
'auth_oidc_settings_login_option_default'),
272 $default->setInfo($this->
lng->txt(
'auth_oidc_settings_login_option_default_info'));
273 $login_options->addOption($default);
275 $form->addItem($login_options);
279 $this->
lng->txt(
'auth_oidc_settings_logout_scope'),
286 $this->
lng->txt(
'auth_oidc_settings_logout_scope_global'),
289 $global_scope->setInfo($this->
lng->txt(
'auth_oidc_settings_logout_scope_global_info'));
290 $logout_scope->addOption($global_scope);
294 $this->
lng->txt(
'auth_oidc_settings_logout_scope_local'),
297 $ilias_scope->setInfo($this->
lng->txt(
'auth_oidc_settings_logout_scope_local_info'));
298 $logout_scope->addOption($ilias_scope);
300 $form->addItem($logout_scope);
303 $this->
lng->txt(
'auth_oidc_settings_custom_session_duration_type'),
307 $this->
lng->txt(
'auth_oidc_settings_custom_session_duration_option')
309 $use_custom_session->setChecked($this->
settings->isCustomSession());
310 $form->addItem($use_custom_session);
314 $this->
lng->txt(
'auth_oidc_settings_session_duration'),
322 $use_custom_session->addSubItem(
$session);
326 $form->addCommandButton(
'saveSettings', $this->
lng->txt(
'save'));
331 $user_sync->setTitle($this->
lng->txt(
'auth_oidc_settings_section_user_sync'));
332 $form->addItem($user_sync);
335 $this->
lng->txt(
'auth_oidc_settings_user_sync'),
339 $sync->setInfo($this->
lng->txt(
'auth_oidc_settings_user_sync_info'));
340 $sync->setValue(
"1");
341 $form->addItem($sync);
344 $this->
lng->txt(
'auth_oidc_settings_default_role'),
347 $roles->setValue($this->
settings->getRole());
348 $roles->setInfo($this->
lng->txt(
'auth_oidc_settings_default_role_info'));
350 $roles->setRequired(
true);
351 $sync->addSubItem($roles);
354 $this->
lng->txt(
'auth_oidc_settings_user_attr'),
357 $user_attr->setValue($this->
settings->getUidField());
358 $user_attr->setRequired(
true);
359 $form->addItem($user_attr);
settings(ilPropertyFormGUI $form=null)
const URL_VALIDATION_NONE
checkAccessBool(string $a_permission)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const LOGOUT_SCOPE_GLOBAL
prepareRoleSelection(bool $a_with_select_option=true)
const URL_VALIDATION_PROVIDER
const LOGIN_ELEMENT_TYPE_TXT
const URL_VALIDATION_CUSTOM
const LOGIN_ELEMENT_TYPE_IMG