You are here

oauth2_login.install in OAuth2 Login 8

Same filename and directory in other branches
  1. 7.2 oauth2_login.install
  2. 7 oauth2_login.install

Installation file for miniOrange OAuth Login Module.

File

oauth2_login.install
View source
<?php

/**
 * @file
 * Installation file for miniOrange OAuth Login Module.
 */
use Drupal\oauth2_login\feedback;

/**
 * hook_uninstall not needed.
 * Configure variables are cleared when module is uninstalled.
 **/
function oauth2_login_uninstall() {
  if (\Drupal::config('oauth2_login.settings')
    ->get('miniorange_oauth_client_feedback') == '1') {
    global $base_url;
    \Drupal::configFactory()
      ->getEditable('oauth2_login.settings')
      ->clear('miniorange_oauth_client_feedback')
      ->save();
    feedback::miniorange_oauth_client_feedback();
  }
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->clear('mo_saml_tourTaken_config_clc')
    ->save();
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->clear('mo_saml_tourTaken_mapping')
    ->save();
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->clear('mo_saml_tourTaken_licensing')
    ->save();
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->clear('miniorange_oauth_client_free_users')
    ->save();
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->clear('miniorange_oauth_client_attr_list_from_server')
    ->save();
}

/**
 * Implements hook_install().
 */
function oauth2_login_install() {
  global $base_url;
  $redirect_url = $base_url . '/mo_login';
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->set('miniorange_oauth_client_free_users', '0')
    ->save();
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->set('miniorange_oauth_client_feedback', '1')
    ->save();
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->set('miniorange_oauth_client_email_attribute', 'NameID')
    ->save();
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->set('miniorange_oauth_client_username_attribute', 'NameID')
    ->save();
  \Drupal::configFactory()
    ->getEditable('oauth2_login.settings')
    ->set('miniorange_auth_client_callback_uri', $redirect_url)
    ->save();
}

/**
 * Implementing hook_schema
 **/
function oauth2_login_schema() {
  $schema['miniorange_oauth_client_token'] = array(
    'description' => t('User Tokens'),
    'fields' => array(
      'id' => array(
        'type' => 'serial',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'description' => t('S.No.: '),
      ),
      'user_id_val' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'description' => t('The UserIn of the user.'),
      ),
      'auth_code' => array(
        'type' => 'varchar',
        'length' => 256,
        'description' => t('The one time authorization code.'),
      ),
      'auth_code_expiry_time' => array(
        'type' => 'int',
        'not null' => FALSE,
        'description' => t('The one time authorization code expiry time.'),
      ),
      'access_token' => array(
        'description' => 'The access token.',
        'type' => 'varchar',
        'length' => 256,
      ),
      'access_token_request_time' => array(
        'description' => 'The access token expiry time.',
        'type' => 'int',
        'not null' => FALSE,
      ),
    ),
    'primary key' => array(
      'id',
    ),
  );
  return $schema;
}

Functions

Namesort descending Description
oauth2_login_install Implements hook_install().
oauth2_login_schema Implementing hook_schema
oauth2_login_uninstall hook_uninstall not needed. Configure variables are cleared when module is uninstalled.