Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
В файле .env прописан APP_KEY
APP_NAME=Lumen
APP_ENV=local
APP_KEY=0Z#xV2KKNBX25*32QMh0DB2HsmI8LfCi
APP_DEBUG=true
APP_URL=http://localhost
APP_TIMEZONE=UTC
в файле app/Providers/AuthServiceProvider.php есть метод boot() в котором берётся api_token
public function boot()
{
// Here you may define how you wish users to be authenticated for your Lumen
// application. The callback which receives the incoming request instance
// should return either a User instance or null. You're free to obtain
// the User instance via an API token or any other method necessary.
$this->app['auth']->viaRequest('api', function ($request) {
if ($request->input('api_token')) {
Log::info("тест буут");
return User::where('api_token', $request->input('api_token'))->first();
}
});
}
Как мне им воспользоваться в контролёре app/Http/Controllers/AuthorController.php ?
Мне нужно посмотреть пришёл ли вместе с post или get запросом APP_KEY и в зависимости от этого продолжить выполнение метода или вернут 403 ошибку если APP_KEY не пришёл.
Что мне нужно написать?
(в справке я ничего не увидел по этому вопросу)
Не в сети
Мне нужно посмотреть пришёл ли вместе с post или get запросом APP_KEY и в зависимости от этого продолжить выполнение метода или вернут 403 ошибку если APP_KEY не пришёл.
API_KEY не так работает. Ты путаешь ключ и токен. Ключ используется скриптами для шифрования или подписывания какой-то информации. Используется для создания токенов доступа. Буквально сам ключ не передается никуда!
Советую делать по инструкции из официальной документации. Разделы Authentication, Authorization
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Код, который ты цитируешь, "в котором берётся api_token" на самом деле служит для аутентификации по токену. То есть когда правильный токен присутствует в запросе, то в программе будет доступен "текущий пользователь". Вот что там происходит!
Надо полагать, теперь тебе в контроллере надо читать этого юзера, возможно проверять его права доступа и принимать решение давать или не давать. Сам токен тебе уже больше нигде не нужен.
Как мне им воспользоваться в контролёре app/Http/Controllers/AuthorController.php ?
как в документации написано:
$user = Auth::user();
или
$user = $request->user();
Изменено artoodetoo (28.03.2023 10:56:25)
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Страницы 1