Зачем нужен auth_key Yii2?
Планирую создать простую форму авторизации / регистрации пользователя. Почитал множество гайдов о том, как это можно реализовать, и заметил, что везде в миграции (и в модели) есть auth_key:
$this->createTable('{{%user}}', [
'id' => $this->primaryKey(),
'username' => $this->string()->notNull()->unique(),
// !!!
'auth_key' => $this->string(32)->notNull(),
'password_hash' => $this->string()->notNull(),
'password_reset_token' => $this->string()->unique(),
'email' => $this->string()->notNull()->unique(),
'created_at' => $this->integer()->notNull(),
'updated_at' => $this->integer()->notNull(),
], $tableOptions);
Я поразмыслил, и решил делать авторизацию без него. Все вроде ок, миграцию применил, начал делать модель User, и столкнулся с такой ошибкой:
'app\models\User' does not implement methods 'getAuthKey', 'validateAuthKey'
php ругается, мол, не объявлены методы getAuthKey и validateAuthKey. Как можно это исправить? И зачем так сильно нужен этот самый auth_key?
Ответы (1 шт):
Фреймворк для аунтентификации:
- Смотрит id юзера в сессии. Если не нашлось, то...
- Смотрит id и
auth_keyв куках. Туда они сохраняются только при "Запомнить меня".
Сессия по умолчанию живёт один час.
По сути, если не нужна галочка, то все эти auth_key не нужны