Интерфейс yii\web\IdentityInterface
| Реализовано | yii\debug\models\search\UserSearchInterface |
|---|---|
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/web/IdentityInterface.php |
Интерфейс IdentityInterface должен быть реализован классом, предоставляющим информацию об идентификации.
Этот интерфейс обычно реализуется классом модели пользователя. Например, следующий код демонстрирует, как реализовать этот интерфейс классом User ActiveRecord:
class User extends ActiveRecord implements IdentityInterface
{
public static function findIdentity($id)
{
return static::findOne($id);
}
public static function findIdentityByAccessToken($token, $type = null)
{
return static::findOne(['access_token' => $token]);
}
public function getId()
{
return $this->id;
}
public function getAuthKey()
{
return $this->authKey;
}
public function validateAuthKey($authKey)
{
return $this->authKey === $authKey;
}
}
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| findIdentity() | Находит идентификатор по заданному ID. | yii\web\IdentityInterface |
| findIdentityByAccessToken() | Находит идентификатор по заданному токену. | yii\web\IdentityInterface |
| getAuthKey() | Возвращает ключ, который может быть использован для проверки подлинности заданного ID идентификатора. | yii\web\IdentityInterface |
| getId() | Возвращает ID, который однозначно идентифицирует идентификатор пользователя. | yii\web\IdentityInterface |
| validateAuthKey() | Проверяет предоставленный ключ авторизации. | yii\web\IdentityInterface |
Подробные описания методов
findIdentity() public abstract static method
Находит идентификатор по заданному ID.
| public abstract static yii\web\IdentityInterface findIdentity ( $id ) | ||
|---|---|---|
| $id | string|integer |
ID, который нужно найти |
| return | yii\web\IdentityInterface |
Объект идентификатора, соответствующий заданному ID. Null должен быть возвращен, если такой идентификатор не найден или идентификатор не в активном состоянии (отключен, удален и т. д.). |
findIdentityByAccessToken() public abstract static method
Находит идентификатор по заданному токену.
| public abstract static yii\web\IdentityInterface findIdentityByAccessToken ( $token, $type = null ) | ||
|---|---|---|
| $token | mixed |
Токен, который нужно найти |
| $type | mixed |
Тип токена. Значение этого параметра зависит от реализации. Например, yii\filters\auth\HttpBearerAuth установит этот параметр в |
| return | yii\web\IdentityInterface |
Объект идентификатора, соответствующий заданному токену. Null должен быть возвращен, если такой идентификатор не найден или идентификатор не в активном состоянии (отключен, удален и т. д.). |
getAuthKey() public abstract method
Возвращает ключ, который можно использовать для проверки подлинности заданного ID идентификатора.
Ключ должен быть уникальным для каждого пользователя и должен быть постоянным, чтобы его можно было использовать для проверки подлинности идентификатора пользователя.
Пространство таких ключей должно быть достаточно большим, чтобы предотвратить потенциальные атаки на идентификацию.
Это необходимо, если yii\web\User::$enableAutoLogin включен.
См. также validateAuthKey().
| public abstract string getAuthKey ( ) | ||
|---|---|---|
| return | string |
Ключ, используемый для проверки подлинности заданного ID идентификатора. |
getId() public abstract method
Возвращает ID, который однозначно идентифицирует идентификатор пользователя.
| public abstract string|integer getId ( ) | ||
|---|---|---|
| return | string|integer |
ID, однозначно идентифицирующий идентификатор пользователя. |
validateAuthKey() public abstract method
Проверяет предоставленный ключ авторизации.
Это необходимо, если yii\web\User::$enableAutoLogin включен.
См. также getAuthKey().
| public abstract boolean validateAuthKey ( $authKey ) | ||
|---|---|---|
| $authKey | string |
Предоставленный ключ авторизации |
| return | boolean |
Является ли предоставленный ключ авторизации действительным. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-web-identityinterface.html