Согласно cakephp official document для версии 3, он устанавливает конфигурацию AuthComponent. Итак, что я сделал, я добавил код ниже в AppController внутри метода public function initialize
.Cakephp 3 Требуется базовая проверка подлинности
$this->Auth->config('authenticate', [
'Basic' => [
'fields' => ['username' => 'username', 'password' => 'api_key'],
'userModel' => 'Users'
]
]);
Затем в UsersTable я добавил ниже код, чтобы сгенерировать новый ключ API для пользователя:
public function beforeSave(Event $event)
{
$entity = $event->data['entity'];
if ($entity->isNew()) {
$entity->api_key = Security::hash(Text::uuid());
}
return true;
}
То, что я пытаюсь понять, как и где ключи API получает магазин? Когда я создаю нового пользователя, я не знаю, где я могу найти api_key
.
Нужно ли создать столбец в таблице Users с именем api_key, чтобы можно было хранить ключ для пользователя? В официальном документе ничего не говорится о том, как получить доступ к ключу и использовать его в базовой аутентификации.
Спасибо за добрые слова @burzum. Мой вопрос не имеет отношения к погоде. Я понимаю базовую аутентификацию или нет. Я пытаюсь понять, где хранятся файлы api_keys. И большое спасибо за разъяснение этого. Однако я не согласен с вашим утверждением, что «Прочитайте первые три абзаца». Я не вижу ссылок на то, что новый столбец должен быть создан в таблице «Пользователи». – Ray
Не затрагивает вопрос. Этот ответ в основном говорит: «Вы не читали документацию, и вы не понимаете, как это работает». Обе точки являются вероятными причинами, по которым был задан вопрос. Документация смутно ссылается на «объекты аутентификации» и метод getUser, но не позволяет проиллюстрировать, где и как эти элементы связаны. –