mirror of
https://github.com/elyby/accounts.git
synced 2025-05-31 14:11:46 +05:30
Implemented PHP-CS-Fixer support
This commit is contained in:
@@ -21,8 +21,6 @@ abstract class BaseAccountAction extends Action {
|
||||
return $this->formatSuccessResult($model);
|
||||
}
|
||||
|
||||
abstract protected function getFormClassName(): string;
|
||||
|
||||
public function getRequestData(): array {
|
||||
return Yii::$app->request->post();
|
||||
}
|
||||
@@ -35,6 +33,8 @@ abstract class BaseAccountAction extends Action {
|
||||
return [];
|
||||
}
|
||||
|
||||
abstract protected function getFormClassName(): string;
|
||||
|
||||
private function formatFailedResult(AccountActionForm $model): array {
|
||||
$response = [
|
||||
'success' => false,
|
||||
|
||||
@@ -6,10 +6,6 @@ use api\modules\accounts\models\ChangeEmailForm;
|
||||
|
||||
class ChangeEmailAction extends BaseAccountAction {
|
||||
|
||||
protected function getFormClassName(): string {
|
||||
return ChangeEmailForm::class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ChangeEmailForm|AccountActionForm $model
|
||||
* @return array
|
||||
@@ -20,4 +16,8 @@ class ChangeEmailAction extends BaseAccountAction {
|
||||
];
|
||||
}
|
||||
|
||||
protected function getFormClassName(): string {
|
||||
return ChangeEmailForm::class;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,10 +7,6 @@ use common\helpers\Error as E;
|
||||
|
||||
class EmailVerificationAction extends BaseAccountAction {
|
||||
|
||||
protected function getFormClassName(): string {
|
||||
return SendEmailVerificationForm::class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param SendEmailVerificationForm|AccountActionForm $model
|
||||
* @return array
|
||||
@@ -29,4 +25,8 @@ class EmailVerificationAction extends BaseAccountAction {
|
||||
];
|
||||
}
|
||||
|
||||
protected function getFormClassName(): string {
|
||||
return SendEmailVerificationForm::class;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ class ChangeEmailForm extends AccountActionForm {
|
||||
}
|
||||
|
||||
public function createTask(int $accountId, string $newEmail, string $oldEmail): void {
|
||||
$model = new EmailChanged;
|
||||
$model = new EmailChanged();
|
||||
$model->accountId = $accountId;
|
||||
$model->oldEmail = $oldEmail;
|
||||
$model->newEmail = $newEmail;
|
||||
|
||||
@@ -6,6 +6,8 @@ use OTPHP\TOTP;
|
||||
|
||||
trait TotpHelper {
|
||||
|
||||
abstract public function getAccount(): Account;
|
||||
|
||||
protected function getTotp(): TOTP {
|
||||
$account = $this->getAccount();
|
||||
$totp = TOTP::create($account->otp_secret);
|
||||
@@ -15,6 +17,4 @@ trait TotpHelper {
|
||||
return $totp;
|
||||
}
|
||||
|
||||
abstract public function getAccount(): Account;
|
||||
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ class AuthenticationController extends Controller {
|
||||
public function verbs() {
|
||||
return [
|
||||
'authenticate' => ['POST'],
|
||||
'refresh' => ['POST'],
|
||||
'validate' => ['POST'],
|
||||
'signout' => ['POST'],
|
||||
'invalidate' => ['POST'],
|
||||
'refresh' => ['POST'],
|
||||
'validate' => ['POST'],
|
||||
'signout' => ['POST'],
|
||||
'invalidate' => ['POST'],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@ class AuthenticateData {
|
||||
$this->minecraftAccessKey = $minecraftAccessKey;
|
||||
}
|
||||
|
||||
public function getMinecraftAccessKey() : MinecraftAccessKey {
|
||||
public function getMinecraftAccessKey(): MinecraftAccessKey {
|
||||
return $this->minecraftAccessKey;
|
||||
}
|
||||
|
||||
public function getResponseData(bool $includeAvailableProfiles = false) : array {
|
||||
public function getResponseData(bool $includeAvailableProfiles = false): array {
|
||||
$accessKey = $this->minecraftAccessKey;
|
||||
$account = $accessKey->account;
|
||||
|
||||
|
||||
@@ -14,7 +14,9 @@ use common\models\MinecraftAccessKey;
|
||||
class AuthenticationForm extends ApiForm {
|
||||
|
||||
public $username;
|
||||
|
||||
public $password;
|
||||
|
||||
public $clientToken;
|
||||
|
||||
public function rules() {
|
||||
@@ -41,13 +43,15 @@ class AuthenticationForm extends ApiForm {
|
||||
if (isset($errors['totp'])) {
|
||||
Authserver::error("User with login = '{$this->username}' protected by two factor auth.");
|
||||
throw new ForbiddenOperationException('Account protected with two factor auth.');
|
||||
} elseif (isset($errors['login'])) {
|
||||
}
|
||||
|
||||
if (isset($errors['login'])) {
|
||||
if ($errors['login'] === E::ACCOUNT_BANNED) {
|
||||
Authserver::error("User with login = '{$this->username}' is banned");
|
||||
throw new ForbiddenOperationException('This account has been suspended.');
|
||||
} else {
|
||||
Authserver::error("Cannot find user by login = '{$this->username}'");
|
||||
}
|
||||
|
||||
Authserver::error("Cannot find user by login = '{$this->username}'");
|
||||
} elseif (isset($errors['password'])) {
|
||||
Authserver::error("User with login = '{$this->username}' passed wrong password.");
|
||||
}
|
||||
@@ -72,7 +76,7 @@ class AuthenticationForm extends ApiForm {
|
||||
return $dataModel;
|
||||
}
|
||||
|
||||
protected function createMinecraftAccessToken(Account $account) : MinecraftAccessKey {
|
||||
protected function createMinecraftAccessToken(Account $account): MinecraftAccessKey {
|
||||
/** @var MinecraftAccessKey|null $accessTokenModel */
|
||||
$accessTokenModel = MinecraftAccessKey::findOne([
|
||||
'account_id' => $account->id,
|
||||
@@ -92,7 +96,7 @@ class AuthenticationForm extends ApiForm {
|
||||
return $accessTokenModel;
|
||||
}
|
||||
|
||||
protected function createLoginForm() : LoginForm {
|
||||
protected function createLoginForm(): LoginForm {
|
||||
return new LoginForm();
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ use common\models\MinecraftAccessKey;
|
||||
class InvalidateForm extends ApiForm {
|
||||
|
||||
public $accessToken;
|
||||
|
||||
public $clientToken;
|
||||
|
||||
public function rules() {
|
||||
@@ -20,7 +21,7 @@ class InvalidateForm extends ApiForm {
|
||||
* @return bool
|
||||
* @throws \api\modules\authserver\exceptions\AuthserverException
|
||||
*/
|
||||
public function invalidateToken() : bool {
|
||||
public function invalidateToken(): bool {
|
||||
$this->validate();
|
||||
|
||||
$token = MinecraftAccessKey::findOne([
|
||||
|
||||
@@ -10,6 +10,7 @@ use common\models\MinecraftAccessKey;
|
||||
class RefreshTokenForm extends ApiForm {
|
||||
|
||||
public $accessToken;
|
||||
|
||||
public $clientToken;
|
||||
|
||||
public function rules() {
|
||||
|
||||
@@ -12,6 +12,7 @@ use Yii;
|
||||
class SignoutForm extends ApiForm {
|
||||
|
||||
public $username;
|
||||
|
||||
public $password;
|
||||
|
||||
public function rules() {
|
||||
@@ -20,7 +21,7 @@ class SignoutForm extends ApiForm {
|
||||
];
|
||||
}
|
||||
|
||||
public function signout() : bool {
|
||||
public function signout(): bool {
|
||||
$this->validate();
|
||||
|
||||
$loginForm = new LoginForm();
|
||||
|
||||
@@ -16,7 +16,7 @@ class ValidateForm extends ApiForm {
|
||||
];
|
||||
}
|
||||
|
||||
public function validateToken() : bool {
|
||||
public function validateToken(): bool {
|
||||
$this->validate();
|
||||
|
||||
/** @var MinecraftAccessKey|null $result */
|
||||
|
||||
@@ -54,7 +54,7 @@ class ApiController extends Controller {
|
||||
public function actionUsernamesByUuid($uuid) {
|
||||
try {
|
||||
$uuid = Uuid::fromString($uuid)->toString();
|
||||
} catch(\InvalidArgumentException $e) {
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
return $this->illegalArgumentResponse('Invalid uuid format.');
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ class ApiController extends Controller {
|
||||
->all();
|
||||
|
||||
$data = [];
|
||||
foreach($usernameHistory as $record) {
|
||||
foreach ($usernameHistory as $record) {
|
||||
$data[] = [
|
||||
'name' => $record->username,
|
||||
'changedToAt' => $record->applied_in * 1000,
|
||||
@@ -94,7 +94,7 @@ class ApiController extends Controller {
|
||||
return $this->illegalArgumentResponse('Not more that 100 profile name per call is allowed.');
|
||||
}
|
||||
|
||||
foreach($usernames as $username) {
|
||||
foreach ($usernames as $username) {
|
||||
if (empty($username) || is_array($username)) {
|
||||
return $this->illegalArgumentResponse('profileName can not be null, empty or array key.');
|
||||
}
|
||||
@@ -108,7 +108,7 @@ class ApiController extends Controller {
|
||||
->all();
|
||||
|
||||
$responseData = [];
|
||||
foreach($accounts as $account) {
|
||||
foreach ($accounts as $account) {
|
||||
$responseData[] = [
|
||||
'id' => str_replace('-', '', $account->uuid),
|
||||
'name' => $account->username,
|
||||
|
||||
@@ -38,7 +38,7 @@ class AuthorizationController extends Controller {
|
||||
return [
|
||||
'validate' => ['GET'],
|
||||
'complete' => ['POST'],
|
||||
'token' => ['POST'],
|
||||
'token' => ['POST'],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -4,4 +4,5 @@ declare(strict_types=1);
|
||||
namespace api\modules\oauth\exceptions;
|
||||
|
||||
interface OauthException {
|
||||
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ class ApplicationType extends BaseOauthClientType {
|
||||
public function rules(): array {
|
||||
return ArrayHelper::merge(parent::rules(), [
|
||||
['redirectUri', 'required', 'message' => E::REDIRECT_URI_REQUIRED],
|
||||
['redirectUri', 'url', 'validSchemes' => ['[\w]+'], 'message' => E::REDIRECT_URI_INVALID],
|
||||
['redirectUri', 'url', 'validSchemes' => ['[\w]+'], 'message' => E::REDIRECT_URI_INVALID],
|
||||
['description', 'string'],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ class SessionController extends Controller {
|
||||
public function actionProfile($uuid) {
|
||||
try {
|
||||
$uuid = Uuid::fromString($uuid)->toString();
|
||||
} catch(\InvalidArgumentException $e) {
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
throw new IllegalArgumentException('Invalid uuid format.');
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
namespace api\modules\session\exceptions;
|
||||
|
||||
class ForbiddenOperationException extends SessionServerException {
|
||||
class ForbiddenOperationException extends SessionServerException {
|
||||
|
||||
public function __construct($message, $code = 0, \Exception $previous = null) {
|
||||
parent::__construct($status = 401, $message, $code, $previous);
|
||||
|
||||
@@ -10,6 +10,7 @@ use yii\web\TooManyRequestsHttpException;
|
||||
class RateLimiter extends \yii\filters\RateLimiter {
|
||||
|
||||
public $limit = 180;
|
||||
|
||||
public $limitTime = 3600; // 1h
|
||||
|
||||
public $authserverDomain;
|
||||
@@ -100,7 +101,7 @@ class RateLimiter extends \yii\filters\RateLimiter {
|
||||
return $this->server;
|
||||
}
|
||||
|
||||
protected function buildKey($ip) : string {
|
||||
protected function buildKey($ip): string {
|
||||
return 'sessionserver:ratelimit:' . $ip;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ use api\modules\session\models\protocols\JoinInterface;
|
||||
use api\modules\session\Module as Session;
|
||||
use api\modules\session\validators\RequiredValidator;
|
||||
use common\helpers\StringHelper;
|
||||
use common\rbac\Permissions as P;
|
||||
use common\models\Account;
|
||||
use common\models\MinecraftAccessKey;
|
||||
use common\rbac\Permissions as P;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Yii;
|
||||
use yii\base\ErrorException;
|
||||
@@ -19,7 +19,9 @@ use yii\web\UnauthorizedHttpException;
|
||||
class JoinForm extends Model {
|
||||
|
||||
public $accessToken;
|
||||
|
||||
public $selectedProfile;
|
||||
|
||||
public $serverId;
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,7 +6,7 @@ use Yii;
|
||||
|
||||
class SessionModel {
|
||||
|
||||
const KEY_TIME = 120; // 2 min
|
||||
private const KEY_TIME = 120; // 2 min
|
||||
|
||||
public $username;
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace api\modules\session\models\protocols;
|
||||
abstract class BaseHasJoined implements HasJoinedInterface {
|
||||
|
||||
private $username;
|
||||
|
||||
private $serverId;
|
||||
|
||||
public function __construct(string $username, string $serverId) {
|
||||
|
||||
@@ -4,10 +4,13 @@ namespace api\modules\session\models\protocols;
|
||||
class LegacyJoin extends BaseJoin {
|
||||
|
||||
private $user;
|
||||
|
||||
private $sessionId;
|
||||
|
||||
private $serverId;
|
||||
|
||||
private $accessToken;
|
||||
|
||||
private $uuid;
|
||||
|
||||
public function __construct(string $user, string $sessionId, string $serverId) {
|
||||
@@ -18,7 +21,7 @@ class LegacyJoin extends BaseJoin {
|
||||
$this->parseSessionId($this->sessionId);
|
||||
}
|
||||
|
||||
public function getAccessToken() : string {
|
||||
public function getAccessToken(): string {
|
||||
return $this->accessToken;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,9 @@ namespace api\modules\session\models\protocols;
|
||||
class ModernJoin extends BaseJoin {
|
||||
|
||||
private $accessToken;
|
||||
|
||||
private $selectedProfile;
|
||||
|
||||
private $serverId;
|
||||
|
||||
public function __construct(string $accessToken, string $selectedProfile, string $serverId) {
|
||||
|
||||
Reference in New Issue
Block a user