You are here

public function BasicSettingsForm::buildForm in Auth0 Single Sign On 8.2

Same name and namespace in other branches
  1. 8 src/Form/BasicSettingsForm.php \Drupal\auth0\Form\BasicSettingsForm::buildForm()

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 38
Contains \Drupal\auth0\Form\BasicSettingsForm.

Class

BasicSettingsForm
This forms handles the basic module configurations.

Namespace

Drupal\auth0\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $config = $this
    ->configFactory()
    ->get('auth0.settings');
  $form['auth0_domain'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Domain'),
    '#default_value' => $config
      ->get('auth0_domain'),
    '#description' => $this
      ->t('The Auth0 Domain for this Application, found in the Auth0 Dashboard.'),
    '#required' => TRUE,
  ];
  $form['auth0_custom_domain'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Custom Domain'),
    '#default_value' => $config
      ->get('auth0_custom_domain') ?: '',
    '#description' => $this
      ->t('Your Auth0 custom domain, if in use.'),
    '#required' => FALSE,
  ];
  $form['auth0_client_id'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Client ID'),
    '#default_value' => $config
      ->get('auth0_client_id'),
    '#description' => $this
      ->t('Client ID from the Application settings page in your Auth0 dashboard.'),
    '#required' => TRUE,
  ];
  $form['auth0_client_secret'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Client Secret'),
    '#default_value' => $config
      ->get('auth0_client_secret'),
    '#description' => $this
      ->t('Client Secret from the Application settings page in your Auth0 dashboard.'),
    '#required' => TRUE,
  ];
  $form['auth0_secret_base64_encoded'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Client Secret is base64 Encoded'),
    '#default_value' => $config
      ->get('auth0_secret_base64_encoded'),
    '#description' => $this
      ->t('This is stated below the Client Secret field on the Application settings page in your Auth0 dashboard.'),
  ];
  $form[AuthHelper::AUTH0_JWT_SIGNING_ALGORITHM] = [
    '#type' => 'select',
    '#title' => $this
      ->t('JsonWebToken Signature Algorithm'),
    '#options' => [
      'HS256' => $this
        ->t('HS256'),
      'RS256' => $this
        ->t('RS256'),
    ],
    '#default_value' => $config
      ->get(AuthHelper::AUTH0_JWT_SIGNING_ALGORITHM) ?: AUTH0_DEFAULT_SIGNING_ALGORITHM,
    '#description' => $this
      ->t('Your JWT Signing Algorithm for the ID token. RS256 is recommended and must be set in the advanced settings for this client under the OAuth tab.'),
    '#required' => TRUE,
  ];
  $form['actions']['#type'] = 'actions';
  $form['actions']['submit'] = [
    '#type' => 'submit',
    '#value' => $this
      ->t('Save'),
    '#button_type' => 'primary',
  ];
  return $form;
}