protected function composeSignatureKey($token = null)
{
$signatureKeyParts = [$this->consumerSecret];
if ($token === null) {
$token = $this->getAccessToken();
}
if (is_object($token)) {
$signatureKeyParts[] = $token->getTokenSecret();
} else {
$signatureKeyParts[] = '';
}
$signatureKeyParts = array_map('rawurlencode', $signatureKeyParts);
return implode('&', $signatureKeyParts);
}