public function createAuthorizationHeader($includePrefix = false)
    {
        $headerParams = array(
            'oauth_signature' => $this->signature->sign(),
            'oauth_nonce' => $this->signature->getNonce(),
            'oauth_signature_method' => $this->signature->getSignatureMethod(),
            'oauth_timestamp' => $this->signature->getTimestamp(),
            'oauth_consumer_key' => $this->signature->getConsumer()->getIdentifier(),
            'oauth_token' => $this->signature->getUser()->getIdentifier(),
            'oauth_version' => $this->signature->getVersion()
        );
        if (($callback = $this->signature->getCallback()) !== '') {
            $headerParams['oauth_callback'] = $callback;
        }

        if (($verifier = $this->signature->getVerifier()) !== '') {
            $headerParams['oauth_verifier'] = $verifier;
        }

        $tempArray = array();
        ksort($headerParams);

        foreach ($headerParams as $key => $value) {
            $tempArray[] = $key . '="' . rawurlencode($value) . '"';
        }

        $prefix = "Authorization: ";
        $headerString = 'OAuth ' . implode(', ', $tempArray);
        return ($includePrefix) ? $prefix . $headerString : $headerString;
    }