1
0
mirror of https://github.com/elyby/accounts.git synced 2025-03-08 01:09:09 +05:30

36 lines
875 B
PHP
Raw Normal View History

<?php
namespace api\modules\authserver\models;
use api\models\base\ApiForm;
use api\modules\authserver\exceptions\ForbiddenOperationException;
use api\modules\authserver\validators\RequiredValidator;
use common\models\MinecraftAccessKey;
class ValidateForm extends ApiForm {
public $accessToken;
public function rules() {
return [
[['accessToken'], RequiredValidator::class],
];
}
2018-04-17 23:47:25 +03:00
public function validateToken(): bool {
$this->validate();
/** @var MinecraftAccessKey|null $result */
$result = MinecraftAccessKey::findOne($this->accessToken);
if ($result === null) {
throw new ForbiddenOperationException('Invalid token.');
}
if ($result->isExpired()) {
throw new ForbiddenOperationException('Token expired.');
}
return true;
}
}