You are here

function oauth2_login_form_alter in OAuth2 Login 8

Implements hook_form_alter().

File

./oauth2_login.module, line 14
Module file for miniOrange OAuth login Module.

Code

function oauth2_login_form_alter(&$form, \Drupal\Core\Form\FormStateInterface &$form_state, $form_id) {
  global $base_url;
  $enable_login = \Drupal::config('oauth2_login.settings')
    ->get('miniorange_oauth_enable_login_with_oauth');
  if (!empty(\Drupal::config('oauth2_login.settings')
    ->get('miniorange_oauth_client_base_url'))) {
    $baseUrlValue = \Drupal::config('oauth2_login.settings')
      ->get('miniorange_oauth_client_base_url');
  }
  else {
    $baseUrlValue = $base_url;
  }
  if ($enable_login) {
    if ($form_id == 'user_login_block' || $form_id == 'user_login_form') {
      if (!empty(\Drupal::config('oauth2_login.settings')
        ->get('miniorange_auth_client_app_name'))) {
        $oauth_login_url = $baseUrlValue . '/moLogin';
        $server_name = \Drupal::config('oauth2_login.settings')
          ->get('miniorange_auth_client_app_name');
        $display_link = \Drupal::config('oauth2_login.settings')
          ->get('miniorange_auth_client_display_name');
        if ($display_link == 'Login using ##app_name##' || empty($display_link)) {
          $form['loginurl'] = [
            [
              '#markup' => '<a href="' . $oauth_login_url . '">Login using ' . $server_name . '</a>',
            ],
          ];
        }
        else {
          $form['loginurl'] = [
            [
              '#markup' => '<a href="' . $oauth_login_url . '">' . $display_link . '</a>',
            ],
          ];
        }
      }
    }
  }
  \Drupal::service('page_cache_kill_switch')
    ->trigger();
}