|
...
|
...
|
@@ -15,11 +15,11 @@ class Signature |
|
|
|
$this->item = $item;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function make(array $items): string
|
|
|
|
public static function make(array $items, string $secret): string
|
|
|
|
{
|
|
|
|
$signature = new self($items);
|
|
|
|
|
|
|
|
return $signature->toString();
|
|
|
|
return $signature->toString($secret);
|
|
|
|
}
|
|
|
|
|
|
|
|
protected function sortByASCII()
|
|
...
|
...
|
@@ -58,15 +58,17 @@ class Signature |
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $secret
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
protected function toString(): string
|
|
|
|
protected function toString(string $secret): string
|
|
|
|
{
|
|
|
|
$this->sortByASCII();
|
|
|
|
|
|
|
|
$string = $this->map($this->item, function ($k, $v) {
|
|
|
|
return !($v === '' || $v === null || $k === 'service');
|
|
|
|
});
|
|
|
|
return !($v === '' || $v === null);
|
|
|
|
}) . '&key=' . $secret;
|
|
|
|
|
|
|
|
return self::encode($string);
|
|
|
|
}
|
...
|
...
|
|