mirror of
https://github.com/elyby/accounts.git
synced 2024-10-30 15:33:21 +05:30
184ff02240
Из Account вынесена логика аутентификации в дочерний AccountIdentity Исправлена логика валидации при вызове на неизменённом нике для формы смены ника
38 lines
1.2 KiB
PHP
38 lines
1.2 KiB
PHP
<?php
|
||
namespace api\models;
|
||
|
||
use common\models\Account;
|
||
use yii\base\NotSupportedException;
|
||
use yii\web\IdentityInterface;
|
||
|
||
/**
|
||
* @method static findIdentityByAccessToken($token, $type = null) этот метод реализуется в UserTrait, который
|
||
* подключён в родительском Account и позволяет выполнить условия интерфейса
|
||
* @method string getId() метод реализован в родительском классе, т.к. UserTrait требует, чтобы этот метод
|
||
* присутствовал обязательно, но при этом не навязывает его как абстрактный
|
||
*/
|
||
class AccountIdentity extends Account implements IdentityInterface {
|
||
|
||
/**
|
||
* @inheritdoc
|
||
*/
|
||
public static function findIdentity($id) {
|
||
return static::findOne($id);
|
||
}
|
||
|
||
/**
|
||
* @inheritdoc
|
||
*/
|
||
public function getAuthKey() {
|
||
throw new NotSupportedException('This method used for cookie auth, except we using JWT tokens');
|
||
}
|
||
|
||
/**
|
||
* @inheritdoc
|
||
*/
|
||
public function validateAuthKey($authKey) {
|
||
return $this->getAuthKey() === $authKey;
|
||
}
|
||
|
||
}
|