Я провёл исследования стандартного примера, и выяснил, что функция validateAuthKey() вообще не вызывается. Для чего она тогда нужна, как её правильно вызвать, как правильно с ней работать?
public function validateAuthKey($authKey)
{
Yii::info('test ================');
return $this->authKey === $authKey;
}
Ответ
validateAuthKey() проверяет $authKey - хэш, который хранится в куках. Вызывается для авторизации с помощью cookie в yii\web\User::loginByCookie при $enableAutoLogin = true
protected function loginByCookie()
{
...
if ($identity->validateAuthKey($authKey)) {
if ($this->beforeLogin($identity, true, $duration)) {
$this->switchIdentity($identity, $this->autoRenewCookie ? $duration : 0);
$ip = Yii::$app->getRequest()->getUserIP();
Yii::info("User '$id' logged in from $ip via cookie.", __METHOD__);
$this->afterLogin($identity, true, $duration);
}
}
...
}
Комментариев нет:
Отправить комментарий