インターフェース 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 |
メソッドの詳細
指定された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);
指定されたトークンで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);
指定されたIDの有効性を確認するために使用できるキーを返します。
このキーは、各ユーザーに対して一意である必要があり、ユーザーIDの有効性を確認するために使用できるよう永続的である必要があります。
このようなキーの空間は、潜在的なID攻撃に対抗するのに十分な大きさである必要があります。
返されたキーは、セッションと自動ログイン(yii\web\User::$enableAutoLogin が有効になっている場合)を検証するために使用されます。
強制的なユーザーログアウト、パスワード変更、および古いセッションへのアクセスを強制的に無効にする必要があるその他のシナリオを実装する場合は、以前発行されたauthKeyを無効にするようにしてください。
validateAuthKey()も参照してください。
public abstract string|null getAuthKey ( ) | ||
戻り値 | string|null |
指定されたIDの有効性を確認するために使用されるキー。 |
---|
public function getAuthKey();
ユーザーIDを一意に識別できるIDを返します。
public abstract string|integer getId ( ) | ||
戻り値 | string|integer |
ユーザーIDを一意に識別するID。 |
---|
public function getId();
指定された認証キーを検証します。
参照: getAuthKey().
public abstract boolean|null validateAuthKey ( $authKey ) | ||
$authKey | string |
与えられた認証キー |
戻り値 | boolean|null |
与えられた認証キーが有効かどうか。 |
---|
public function validateAuthKey($authKey);
コメントするにはサインアップまたはログインしてください。