aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Model/Instance.php
diff options
context:
space:
mode:
Diffstat (limited to 'Digitigrade/Model/Instance.php')
-rw-r--r--Digitigrade/Model/Instance.php9
1 files changed, 9 insertions, 0 deletions
diff --git a/Digitigrade/Model/Instance.php b/Digitigrade/Model/Instance.php
index 6662d7e..5545849 100644
--- a/Digitigrade/Model/Instance.php
+++ b/Digitigrade/Model/Instance.php
@@ -4,6 +4,7 @@ namespace Digitigrade\Model;
use Digitigrade\Exception\AuthException;
use Digitigrade\Exception\EndpointMissingException;
use Digitigrade\GlobalConfig;
+use Digitigrade\HttpResponseStatus\Unauthorized;
use Digitigrade\Job\RefreshOutboundAuthToken;
class Instance extends FetchableModel {
@@ -80,6 +81,14 @@ class Instance extends FetchableModel {
return self::findByInboundAuthToken($token);
}
+ public static function requireByRequestHeaders(): self {
+ $inst = self::findByRequestHeaders();
+ if ($inst == null) {
+ throw new Unauthorized();
+ }
+ return $inst;
+ }
+
public static function findByDialbackSecret(string $secret): ?self {
$authRecord = InstanceAuth::findWhere('secret = ?', [$secret]);
if ($authRecord == null)