You are here

public static function MoAuthUtilities::isTFARequired in Google Authenticator / 2 Factor Authentication - 2FA 8.2

3 calls to MoAuthUtilities::isTFARequired()
MoAuthUtilities::isSkipNotAllowed in src/MoAuthUtilities.php
MoAuthUtilities::isUserCanSee2FASettings in src/MoAuthUtilities.php
UserMfaSetup::__construct in src/Form/UserMfaSetup.php

File

src/MoAuthUtilities.php, line 563
This file is part of miniOrange 2FA module.

Class

MoAuthUtilities

Namespace

Drupal\miniorange_2fa

Code

public static function isTFARequired($roles, $email) {
  $variables_and_values1 = array(
    'mo_auth_enable_domain_based_2fa',
    'mo_auth_enable_role_based_2fa',
    'mo_auth_use_only_2nd_factor',
  );
  $mo_db_values = MoAuthUtilities::miniOrange_set_get_configurations($variables_and_values1, 'GET');
  $userInRoles = MoAuthUtilities::check_roles_to_invoke_2fa($roles);
  $userInDomain = MoAuthUtilities::check_domain_to_invoke_2fa($email);
  $TFARequired = $userInDomain && $userInRoles;
  if ($mo_db_values['mo_auth_enable_domain_based_2fa'] == TRUE && $mo_db_values['mo_auth_enable_role_based_2fa'] == TRUE) {
    $TFARequired = $mo_db_values['mo_2fa_domain_and_role_rule'] === 'OR' ? $userInRoles || $userInDomain : $userInRoles && $userInDomain;
  }
  $TFARequired = $mo_db_values['mo_auth_use_only_2nd_factor'] === TRUE || $TFARequired;
  return $TFARequired;
}