0 フォロワー

インターフェース yii\web\IdentityInterface

利用可能バージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/web/IdentityInterface.php

IdentityInterface は、ID 情報を提供するクラスで実装されるべきインターフェースです。

このインターフェースは、通常、ユーザーモデルクラスで実装できます。例えば、以下のコードは、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;
    }
}

状況によっては、これらのメソッド全てを実装する必要はありません。例えば、アプリケーションが純粋なステートレスなRESTfulアプリケーションの場合、findIdentityByAccessToken()getId() のみを実装し、他のメソッドは空のボディのままにしておくことができます。または、アプリケーションがセッションのみの認証を使用する場合、findIdentityByAccessToken() を除くすべてのメソッドを実装する必要があります。

公開メソッド

継承されたメソッドを非表示

メソッド 説明 定義元
findIdentity() 指定されたIDでIDを検索します。 yii\web\IdentityInterface
findIdentityByAccessToken() 指定されたトークンでIDを検索します。 yii\web\IdentityInterface
getAuthKey() 指定されたIDの有効性を確認するために使用できるキーを返します。 yii\web\IdentityInterface
getId() ユーザーIDを一意に識別できるIDを返します。 yii\web\IdentityInterface
validateAuthKey() 指定された認証キーを検証します。 yii\web\IdentityInterface

メソッドの詳細

継承されたメソッドを非表示

findIdentity() public abstract static method

指定されたIDでIDを検索します。

public abstract static yii\web\IdentityInterface|null findIdentity ( $id )
$id string|integer

検索するID

戻り値 yii\web\IdentityInterface|null

指定されたIDに一致するIDオブジェクト。そのようなIDが見つからない場合、またはIDがアクティブな状態ではない場合(無効化、削除など)、nullを返す必要があります。

                public static function findIdentity($id);

            
findIdentityByAccessToken() public abstract static method

指定されたトークンでIDを検索します。

public abstract static yii\web\IdentityInterface|null findIdentityByAccessToken ( $token, $type null )
$token mixed

検索するトークン

$type mixed

トークンの種類。このパラメータの値は実装によって異なります。yii\filters\auth\HttpBearerAuth は、このパラメータを `yii\filters\auth\HttpBearerAuth` に設定します。

戻り値 yii\web\IdentityInterface|null

指定されたトークンに一致するIDオブジェクト。そのようなIDが見つからない場合、またはIDがアクティブな状態ではない場合(無効化、削除など)、nullを返す必要があります。

                public static function findIdentityByAccessToken($token, $type = null);

            
getAuthKey() public abstract method

指定されたIDの有効性を確認するために使用できるキーを返します。

このキーは、各ユーザーに対して一意である必要があり、ユーザーIDの有効性を確認するために使用できるよう永続的である必要があります。

このようなキーの空間は、潜在的なID攻撃に対抗するのに十分な大きさである必要があります。

返されたキーは、セッションと自動ログイン(yii\web\User::$enableAutoLogin が有効になっている場合)を検証するために使用されます。

強制的なユーザーログアウト、パスワード変更、および古いセッションへのアクセスを強制的に無効にする必要があるその他のシナリオを実装する場合は、以前発行されたauthKeyを無効にするようにしてください。

validateAuthKey()も参照してください。

public abstract string|null getAuthKey ( )
戻り値 string|null

指定されたIDの有効性を確認するために使用されるキー。

                public function getAuthKey();

            
getId() public abstract メソッド

ユーザーIDを一意に識別できるIDを返します。

public abstract string|integer getId ( )
戻り値 string|integer

ユーザーIDを一意に識別するID。

                public function getId();

            
validateAuthKey() public abstract メソッド

指定された認証キーを検証します。

参照: getAuthKey().

public abstract boolean|null validateAuthKey ( $authKey )
$authKey string

与えられた認証キー

戻り値 boolean|null

与えられた認証キーが有効かどうか。

                public function validateAuthKey($authKey);