$email
);
$field_string = wp_json_encode($fields);
$headers = array("Content-Type"=>"application/json","charset"=>"UTF-8","Authorization"=>"Basic");
$response = $mo2f_api->make_curl_call($url, $field_string);
return $response;
}
public function send_email_alert($email, $phone, $message)
{
$url = MOLMS_HOST_NAME . '/moas/api/notify/send';
$mo2f_api= new Molms_Mo2f_Api();
$customer_key = "16555";
$api_key = "fFd2XcvTGDemZvbw1bcUesNJWEqKbbUq";
$current_time_in_millis = $mo2f_api->get_timestamp();
$string_to_hash = $customer_key . $current_time_in_millis . $api_key;
$hash_value = hash("sha512", $string_to_hash);
$from_email = $email;
$subject = "WordPress 2FA Plugin Feedback - " . $email;
global $user;
$user = wp_get_current_user();
if (isset($_SERVER['SERVER_NAME'])) {
$server = sanitize_text_field($_SERVER['SERVER_NAME']);
} else {
$server = '';
}
$query = '[WordPress 2FA for LMS Plugin: - V '.MOLMS_VERSION.']: ' . $message;
$content = '
First Name :' . $user->user_firstname . '
Last Name :' . $user->user_lastname . '
Company :
' . $server . 'Phone Number :' . $phone . '
Email :
' . $from_email . 'Query :' . $query . '
';
$fields = array(
'customerKey' => $customer_key,
'sendEmail' => true,
'email' => array(
'customerKey' => $customer_key,
'fromEmail' => $from_email,
'fromName' => 'Xecurify',
'toEmail' => '2fasupport@xecurify.com',
'toName' => '2fasupport@xecurify.com',
'subject' => $subject,
'content' => $content
),
);
$field_string = wp_json_encode($fields);
$headers = $mo2f_api->get_http_header_array();
$response = $mo2f_api->make_curl_call($url, $field_string, $headers);
return $response;
}
public function create_customer()
{
global $molms_db_queries;
if (! molms_2f_Utility::is_curl_installed()) {
$message = 'Please enable curl extension. Click here for the steps to enable curl.';
return wp_json_encode(array( "status" => 'ERROR', "message" => $message ));
}
$url = MOLMS_HOST_NAME . '/moas/rest/customer/add';
$mo2f_api= new Molms_Mo2f_Api();
global $user;
$user = wp_get_current_user();
$this->email = get_site_option('mo2f_email');
$this->phone = $molms_db_queries->get_user_detail('mo2f_user_phone', $user->ID);
$password = get_site_option('mo2f_password');
if (isset($_SERVER['SERVER_NAME'])) {
$server = sanitize_text_field($_SERVER['SERVER_NAME']);
} else {
$server = '';
}
$company = get_site_option('mo2f_admin_company') != '' ? get_site_option('mo2f_admin_company') : $server;
$fields = array(
'companyName' => $company,
'areaOfInterest' => 'WordPress 2 Factor Authentication Plugin',
'productInterest' => 'API_2FA',
'email' => $this->email,
'phone' => $this->phone,
'password' => $password
);
$field_string = wp_json_encode($fields);
$headers = array("Content-Type"=>"application/json","charset"=>"UTF-8","Authorization"=>"Basic");
$content = $mo2f_api->make_curl_call($url, $field_string);
return $content;
}
public function get_customer_key()
{
if (! molms_2f_Utility::is_curl_installed()) {
$message = 'Please enable curl extension. Click here for the steps to enable curl.';
return wp_json_encode(array( "status" => 'ERROR', "message" => $message ));
}
$url = MOLMS_HOST_NAME . "/moas/rest/customer/key";
$email = get_site_option("mo2f_email");
$password = get_site_option("mo2f_password");
$mo2f_api= new Molms_Mo2f_Api();
$fields = array(
'email' => $email,
'password' => $password
);
$field_string = wp_json_encode($fields);
$headers = array("Content-Type"=>"application/json","charset"=>"UTF-8","Authorization"=>"Basic");
$content = $mo2f_api->make_curl_call($url, $field_string);
return $content;
}
public function send_otp_token($u_key, $auth_type, $c_key, $api_key, $currentuser = null)
{
if (! molms_2f_Utility::is_curl_installed()) {
$message = 'Please enable curl extension. Click here for the steps to enable curl.';
return wp_json_encode(array( "status" => 'ERROR', "message" => $message ));
}
$url = MOLMS_HOST_NAME . '/moas/api/auth/challenge';
$mo2f_api = new Molms_Mo2f_Api();
/* The customer Key provided to you */
$customer_key = $c_key;
/* The customer API Key provided to you */
$api_key = $api_key;
/* Current time in milliseconds since midnight, January 1, 1970 UTC. */
$current_time_in_millis = $mo2f_api->get_timestamp();
/* Creating the Hash using SHA-512 algorithm */
$string_to_hash = $customer_key . $current_time_in_millis . $api_key;
$hash_value = hash("sha512", $string_to_hash);
$headers = $mo2f_api->get_http_header_array();
$fields = '';
if ($auth_type == 'EMAIL' || $auth_type == 'OTP Over Email' || $auth_type == 'OUT OF BAND EMAIL') {
$fields = array(
'customerKey' => $customer_key,
'email' => $u_key,
'authType' => $auth_type,
'transactionName' => 'WordPress 2 Factor Authentication Plugin'
);
} elseif ($auth_type == 'SMS') {
$auth_type = "SMS";
$fields = array(
'customerKey' => $customer_key,
'phone' => $u_key,
'authType' => $auth_type
);
} else {
$fields = array(
'customerKey' => $customer_key,
'username' => $u_key,
'authType' => $auth_type,
'transactionName' => 'WordPress 2 Factor Authentication Plugin'
);
}
$field_string = wp_json_encode($fields);
$content = $mo2f_api->make_curl_call($url, $field_string, $headers);
return $content;
}
public function get_customer_transactions($c_key, $api_key)
{
$url = MOLMS_HOST_NAME . '/moas/rest/customer/license';
$customer_key = $c_key;
$api_key = $api_key;
$mo2f_api= new Molms_Mo2f_Api();
$current_time_in_millis = $mo2f_api->get_timestamp();
$string_to_hash = $customer_key . $current_time_in_millis . $api_key;
$hash_value = hash("sha512", $string_to_hash);
$fields = '';
$fields = array(
'customerId' => $customer_key,
'applicationName' => 'wp_2fa',
'licenseType' => 'DEMO'
);
$field_string = wp_json_encode($fields);
$headers = $mo2f_api->get_http_header_array();
$content = $mo2f_api->make_curl_call($url, $field_string, $headers);
return $content;
}
public function validate_otp_token($auth_type, $username, $transaction_id, $otpToken, $c_key, $customerApiKey, $current_user = null)
{
$content='';
if (! molms_2f_Utility::is_curl_installed()) {
$message = 'Please enable curl extension. Click here for the steps to enable curl.';
return wp_json_encode(array( "status" => 'ERROR', "message" => $message ));
}
$url = MOLMS_HOST_NAME . '/moas/api/auth/validate';
$mo2f_api= new Molms_Mo2f_Api();
/* The customer Key provided to you */
$customer_key = $c_key;
/* The customer API Key provided to you */
$api_key = $customerApiKey;
/* Current time in milliseconds since midnight, January 1, 1970 UTC. */
$current_time_in_millis = $mo2f_api->get_timestamp();
/* Creating the Hash using SHA-512 algorithm */
$string_to_hash = $customer_key . $current_time_in_millis . $api_key;
$hash_value = hash("sha512", $string_to_hash);
$headers = $mo2f_api->get_http_header_array();
$fields = '';
if ($auth_type == 'SOFT TOKEN' || $auth_type == 'GOOGLE AUTHENTICATOR') {
/*check for soft token*/
$fields = array(
'customerKey' => $customer_key,
'username' => $username,
'token' => $otpToken,
'authType' => $auth_type
);
} elseif ($auth_type == 'KBA') {
$fields = array(
'txId' => $transaction_id,
'answers' => array(
array(
'question' => $otpToken[0],
'answer' => $otpToken[1]
),
array(
'question' => $otpToken[2],
'answer' => $otpToken[3]
)
)
);
} else {
//*check for otp over sms/email
$fields = array(
'txId' => $transaction_id,
'token' => $otpToken
);
}
$field_string = wp_json_encode($fields);
$content = $mo2f_api->make_curl_call($url, $field_string, $headers);
return $content;
}
}