public function BasicSettingsForm::buildForm in simpleSAMLphp Authentication 8.3
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides ConfigFormBase::buildForm
File
- src/
Form/ BasicSettingsForm.php, line 30
Class
- BasicSettingsForm
- Form builder for the simplesamlphp_auth basic settings form.
Namespace
Drupal\simplesamlphp_auth\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config('simplesamlphp_auth.settings');
$form['basic'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Basic settings'),
'#collapsible' => FALSE,
];
$form['basic']['activate'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Activate authentication via SimpleSAMLphp'),
'#default_value' => $config
->get('activate'),
'#description' => $this
->t('Checking this box before configuring the module could lock you out of Drupal.'),
];
$form['basic']['auth_source'] = [
'#type' => 'textfield',
'#title' => $this
->t('Authentication source for this SP'),
'#default_value' => $config
->get('auth_source'),
'#description' => $this
->t('The name of the source to use (Usually in authsources.php).'),
];
$form['basic']['login_link_display_name'] = [
'#type' => 'textfield',
'#title' => $this
->t('Federated Log In Link Display Name'),
'#default_value' => $config
->get('login_link_display_name'),
'#description' => $this
->t('Text to display as the link to the external federated login page.'),
];
$form['basic']['login_link_show'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Display a link to the Federated Login page on the user login form'),
'#default_value' => $config
->get('login_link_show'),
];
$form['basic']['header_no_cache'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Use Header with: Cache-Control: no-cache'),
'#default_value' => $config
->get('header_no_cache'),
'#description' => $this
->t('Use a "Cache-Control: no-cache" header in the HTTP response to avoid the redirection be cached (e.g. when using a reverse-proxy layer).'),
];
$form['debugging'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Debugging'),
'#collapsible' => FALSE,
];
$form['debugging']['debug'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Turn on debugging messages'),
'#default_value' => $config
->get('debug'),
'#description' => $this
->t('Expand the level of Drupal logging to include debugging information.'),
];
$form['user_provisioning'] = [
'#type' => 'fieldset',
'#title' => $this
->t('User Provisioning'),
'#collapsible' => FALSE,
];
$form['user_provisioning']['register_users'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Register users (i.e., auto-provisioning)'),
'#default_value' => $config
->get('register_users'),
'#description' => $this
->t('Determines whether or not the module should automatically create/register new Drupal accounts for users that authenticate using SimpleSAMLphp. Unless you\'ve done some custom work to provision Drupal accounts with the necessary authmap entries you will want this checked.<br /><br />NOTE: If unchecked each user must already have been provisioned a Drupal account correctly linked to the SAML authname attribute (e.g. by creating Drupal users with "Enable this user to leverage SAML authentication" checked). Otherwise they will receive a notice and be denied access.'),
];
$form['security'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Security'),
'#collapsible' => FALSE,
];
$form['security']['secure'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Cookie only transmitted over HTTPS'),
'#default_value' => $config
->get('secure'),
'#description' => $this
->t('Cookie should only be transmitted over a secure HTTPS connection from the client. When set to TRUE, the cookie will only be set if a secure connection exists.'),
];
$form['security']['httponly'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Cookie only accessible over HTTP protocol'),
'#default_value' => $config
->get('httponly'),
'#description' => $this
->t("Cookie will be made accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript."),
];
return parent::buildForm($form, $form_state);
}