public static function MoAuthRBA::mo2f_collect_attributes in Google Authenticator / 2 Factor Authentication - 2FA 7        
                          
                  
                        
File
 
   - classes/MoAuthRBA.php, line 5
Class
  
  - MoAuthRBA 
Code
public static function mo2f_collect_attributes($useremail, $rba_attributes) {
  $url = MoAuthConstants::$BASE_URL . '/rest/rba/acs';
  $ch = curl_init($url);
  $customerKey = variable_get('mo_auth_customer_id', '');
  $apiKey = variable_get('mo_auth_customer_api_key', '');
  $fields = "{\"customerKey\":\"" . $customerKey . "\",\"userKey\":\"" . $useremail . "\",\"attributes\":" . $rba_attributes . "}";
  
  $currentTimeInMillis = round(microtime(true) * 1000);
  $currentTimeInMillis = number_format($currentTimeInMillis, 0, '', '');
  
  $stringToHash = $customerKey . $currentTimeInMillis . $apiKey;
  $hashValue = hash("sha512", $stringToHash);
  $customerKeyHeader = "Customer-Key: " . $customerKey;
  $timestampHeader = "Timestamp: " . number_format($currentTimeInMillis, 0, '', '');
  $authorizationHeader = "Authorization: " . $hashValue;
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($ch, CURLOPT_ENCODING, "");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $var = array(
    "Content-Type: application/json",
    $customerKeyHeader,
    $timestampHeader,
    $authorizationHeader,
  ));
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  curl_setopt($ch, CURLOPT_TIMEOUT, 20);
  $content = curl_exec($ch);
  if (curl_errno($ch)) {
    echo 'Request Error:' . curl_error($ch);
    exit;
  }
  curl_close($ch);
  return $content;
}