You are here

function _acquia_agent_create_authenticator in Acquia Connector 7.3

Same name and namespace in other branches
  1. 6.2 acquia_agent/acquia_agent.pages.inc \_acquia_agent_create_authenticator()
  2. 6 acquia_agent/acquia_agent.pages.inc \_acquia_agent_create_authenticator()
  3. 7 acquia_agent/acquia_agent.pages.inc \_acquia_agent_create_authenticator()
  4. 7.2 acquia_agent/acquia_agent.module \_acquia_agent_create_authenticator()

Creates an authenticator for XML-RPC calls without Network identifier or key.

Parameters

array $body: Array of values being sent to remote server.

string $pass: Pass.

Return value

array Authenticator.

3 calls to _acquia_agent_create_authenticator()
acquia_agent_automatic_setup_form_validate in acquia_agent/acquia_agent.pages.inc
Needs comment.
AquiaAgentUnitTestCase::testAuthenticators in acquia_agent/tests/acquia_agent.test
Test authenticators.
_acquia_agent_automatic_start_submit in acquia_agent/acquia_agent.pages.inc
Needs comment.

File

acquia_agent/acquia_agent.module, line 937
Acquia Agent securely sends information to Acquia Insight.

Code

function _acquia_agent_create_authenticator(array $body, $pass = NULL) {
  $auth = array();
  $auth['time'] = time();
  $auth['nonce'] = base64_encode(hash('sha256', drupal_random_bytes(55), TRUE));
  if (isset($pass)) {
    $auth['hash'] = _acquia_agent_hmac($pass, $auth['time'], $auth['nonce'], $body);
  }
  else {

    // XML-RPC interface requires this parameter to be a string.
    // Just pass a dummy value.
    $auth['hash'] = 'x';
  }
  return $auth;
}