diff options
Diffstat (limited to 'Digitigrade/Model/Instance.php')
| -rw-r--r-- | Digitigrade/Model/Instance.php | 9 |
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) |
