♻️ Move validation to Request
This commit is contained in:
@@ -21,14 +21,6 @@ class Bot
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
public function isRequestValid(): bool
|
||||
{
|
||||
return hash_equals(
|
||||
hash_hmac('sha256', $this->request->nc_random . $this->request->body, $this->config['secret']),
|
||||
strtolower($this->request->nc_signature)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $pattern the pattern to listen for
|
||||
* @param \Closure|string $callback the callback to execute. Either a closure or a Class@method notation
|
||||
|
@@ -13,8 +13,9 @@ class Request
|
||||
public string $event;
|
||||
public string $signature;
|
||||
public string $body;
|
||||
public array $config;
|
||||
|
||||
public function __construct()
|
||||
public function __construct(array $config = [])
|
||||
{
|
||||
$this->nc_signature = $_SERVER['HTTP_X_NEXTCLOUD_TALK_SIGNATURE'] ?? '';
|
||||
$this->nc_random = $_SERVER['HTTP_X_NEXTCLOUD_TALK_RANDOM'] ?? '';
|
||||
@@ -24,6 +25,15 @@ class Request
|
||||
$this->event = $_SERVER['HTTP_X_H1_EVENT'] ?? '';
|
||||
$this->signature = $_SERVER['HTTP_X_H1_SIGNATURE'] ?? '';
|
||||
$this->body = file_get_contents('php://input');
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
public function isValid(): bool
|
||||
{
|
||||
return hash_equals(
|
||||
hash_hmac('sha256', $this->nc_random . $this->body, $this->config['secret']),
|
||||
strtolower($this->nc_signature)
|
||||
);
|
||||
}
|
||||
|
||||
public function getJSONBody(): array
|
||||
|
Reference in New Issue
Block a user