diff options
Diffstat (limited to 'Digitigrade/Model')
| -rw-r--r-- | Digitigrade/Model/Instance.php | 14 | ||||
| -rw-r--r-- | Digitigrade/Model/InstanceAuth.php | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/Digitigrade/Model/Instance.php b/Digitigrade/Model/Instance.php index 5f33e6d..e4b1ef1 100644 --- a/Digitigrade/Model/Instance.php +++ b/Digitigrade/Model/Instance.php @@ -58,6 +58,20 @@ class Instance extends FetchableModel { return self::fetchFromRemote($uri, $autoSave); } + public static function findByInboundAuthToken(string $token): ?self { + $authRecord = InstanceAuth::findWhere('inbound_token = ?', [$token]); + if ($authRecord == null) + return null; + return self::find($authRecord->instanceId); + } + + public static function findByDialbackSecret(string $secret): ?self { + $authRecord = InstanceAuth::findWhere('secret = ?', [$secret]); + if ($authRecord == null) + return null; + return self::find($authRecord->instanceId); + } + public function beginOutboundAuth() { $authEndpoint = $this->endpoints->auth; if (!isset($authEndpoint)) { diff --git a/Digitigrade/Model/InstanceAuth.php b/Digitigrade/Model/InstanceAuth.php index 616d4c5..6f58298 100644 --- a/Digitigrade/Model/InstanceAuth.php +++ b/Digitigrade/Model/InstanceAuth.php @@ -7,6 +7,7 @@ class InstanceAuth extends Model { public ?int $instanceId; public ?string $outboundToken; public ?string $inboundToken; + public ?string $secret; protected function setOwnerId(int $id) { $this->instanceId = $id; |
