public function onCxnUnregister($cxn, $params) {
    $storedCxn = $this->cxnStore->getByCxnId($cxn['cxnId']);
    if (!$storedCxn) {
      $this->log->warning('Unregister cxnId="{cxnId} siteUrl="{siteUrl}"": Non-existent', array(
        'cxnId' => $cxn['cxnId'],
        'siteUrl' => $cxn['siteUrl'],
      ));
      return $this->createSuccess(array(
        'cxn_id' => $cxn['cxnId'],
      ));
    }
    elseif ($storedCxn['secret'] == $cxn['secret']) {
      $this->log->notice('Unregister cxnId="{cxnId} siteUrl="{siteUrl}": OK"', array(
        'cxnId' => $cxn['cxnId'],
        'siteUrl' => $cxn['siteUrl'],
      ));
      $this->cxnStore->remove($cxn['cxnId']);
      return $this->createSuccess(array(
        'cxn_id' => $cxn['cxnId'],
      ));
    }
    else {
      $this->log->warning('Unregister cxnId="{cxnId}" siteUrl="{siteUrl}": Secret does not match.', array(
        'cxnId' => $cxn['cxnId'],
        'siteUrl' => $cxn['siteUrl'],
      ));
      $this->createError('Incorrect cxnId or secret.');
    }
  }