50 lines
1.0 KiB
PHP
50 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace AlibabaCloud\Client\Signature;
|
|
|
|
use GuzzleHttp\Psr7\Request;
|
|
use AlibabaCloud\Client\Support\Sign;
|
|
|
|
/**
|
|
* Class Signature
|
|
*
|
|
* @package AlibabaCloud\Client\Signature
|
|
*/
|
|
abstract class Signature
|
|
{
|
|
|
|
/**
|
|
* @codeCoverageIgnore
|
|
*
|
|
* @param string $accessKeyId
|
|
* @param string $accessKeySecret
|
|
* @param Request $request
|
|
*
|
|
* @return string
|
|
*/
|
|
public function roa($accessKeyId, $accessKeySecret, Request $request)
|
|
{
|
|
$string = Sign::roaString($request);
|
|
|
|
$signature = $this->sign($string, $accessKeySecret);
|
|
|
|
return "acs $accessKeyId:$signature";
|
|
}
|
|
|
|
/**
|
|
* @codeCoverageIgnore
|
|
*
|
|
* @param string $accessKeySecret
|
|
* @param string $method
|
|
* @param array $parameters
|
|
*
|
|
* @return string
|
|
*/
|
|
public function rpc($accessKeySecret, $method, array $parameters)
|
|
{
|
|
$string = Sign::rpcString($method, $parameters);
|
|
|
|
return $this->sign($string, $accessKeySecret . '&');
|
|
}
|
|
}
|