in src/Signature/SignatureV2.php [14:44]
public function signRequest(
RequestInterface $request,
CredentialsInterface $credentials
) {
$params = Psr7\parse_query($request->getBody());
$params['Timestamp'] = gmdate('c');
$params['SignatureVersion'] = '2';
$params['SignatureMethod'] = 'HmacSHA256';
$params['AWSAccessKeyId'] = $credentials->getAccessKeyId();
if ($token = $credentials->getSecurityToken()) {
$params['SecurityToken'] = $token;
}
// build string to sign
$sign = $request->getMethod() . "\n"
. $request->getHeaderLine('Host') . "\n"
. '/' . "\n"
. $this->getCanonicalizedParameterString($params);
$params['Signature'] = base64_encode(
hash_hmac(
'sha256',
$sign,
$credentials->getSecretKey(),
true
)
);
return $request->withBody(Psr7\stream_for(http_build_query($params)));
}