Аутентификация запросов к API в Laravel | Laravel Api Authenticate
Вставка
- Опубліковано 7 лют 2025
- В этом уроке мы рассмотрим общие принципы аутентификации и подробно остановимся на аутентификации при помощи ключей, когда речь идет о запросах к методам API в Laravel.
🔗 Урок по аутентификации и регистрации в Laravel: • Форма аутентификации в...
✅ Instagram: / lectoria.pro
✅ VK: lectoria
✅ Facebook: lectori...
✅ Сайт проекта Lectoria: lectoria.pro
🖥 Обучение веб-разработке Lectoria: / @lectoria
🖥 Обучение разработке на MODX Revolution: / openmodx
Ждем уроков по чтению мыслей! 😂
Только что искал инфу об аутентификации запросов к API в Ларавел
не поверишь, но мне тоже в ближайшее время это предстоит, и тут ютубчик САМ мне предлагает )
Супер урок подробно разобрали аутентификацию
Можно использовать как и passport так и свой написать, или кроме passport свою проверку добавить
Спасибо огромное, наконец то нормальный урок.
Блольшое спасибо.
Спасибо за ваш труд!
Пример наглядный. Есть хорошее решение с jwt
не, это совсем уж базис ) но дикция у автора норм, звук громкий - смотреть приятно) и кому-то наверняка пригодится
Спасибо, нужная тема, помогло!
Для микросервиса сгодится, но для spa уже нужно реализовывать аутентификацию с помощью oauth 2. Это на laravel можно с помощью passport реализовать.
топчик
не ну так проверять маршруты, почему не используете Postman? + Ребят, кто только начал изучать всё это. НЕ НАДО, делать роуты так, как в видео. Очень плохая привычка, писать php логику непосредственно в роутах, просто запомните это и делайте через контроллер.
Route::middleware('auth_api')->get('/user/{id}',[APIController::class, 'index'] )->name('index');
Class APIController extends Controller
{
public function index(Request $request,$id){
$user =Models\User::find($id);
if(!$user) return response('Такой пользователь не найден',404);
return $user;
}
Интересный урок.
А как всё таки пользователь узнает этот токен? Если из формы, то оно будет input type hidden ? То он же будет виден или как?
А если через Bearer то совсем непонятно где его взять.
Вы еще говорили что есть два способа, в одном из которых как-то можно генерировать ключи. А каким способом пользователь получит к ним доступ?
Если речь идет об узкоспециализированном API, которое предназначено для четко обозначенных пользователей, то этот ключ можно создавать и выдавать вручную (как я и показал в этом видео, когда создавал файл config/apitokens.php)
Когда речь идет о более широких сервисах, то пользователь может создавать этот ключ самостоятельно, например в своем личном кабинете на сайте сервиса (как например на github, trello, google и так далее): вы создаете ключ, он же api_key, он же api_token на странице сайта в разделе настроек, а затем используете этот ключ при обращении к API этого сервиса.
Если же говорить об обращении к API через форму или вообще через frontend, то здесь нужно учитывать насколько критично хранить ключ в секрете. Например, google позволяет настроить ограничение, с какого адреса будет делаться запрос, поэтому ключ хранится в открытом виде и его можно увидеть в коде страницы сайта, так как помимо ключа при запросе важно еще, чтобы запрос был с определенного IP адреса.
Отличный урок, спасибо! Жаль что не осветили дополнительные опции unauthenticated(). В частности сделав все по вашему примеру у меня вылетает ошибка Route [login] not defined. Т.е. по умолчанию идет попытка перенаправить пользователя на страницу логина - а для апи это лишнее.
Да, почему-то у автора это не учтено, поэтому я сделал по-другому:
1. Сначала сгенерировал новый посредник с помощью команды php artisan make:middleware AuthenticateApi
2. Далее в методе handle прописал свою логику, получилось вот так:
Добрый вечер , как можно реализовать JSON Rest API для получений и поиска данных (с пагинацией) ?
Да в принципе, ничего особого предпринимать не нужно. Делаете маршруты, создаете контроллеры. Только в контролерах возвращаете не view, как это происходит обычно при отображении страниц сайта, а просто объект модели или коллекции или Paginator.
@@lectoria Cпасибоза ответ 👍 и еще вопрос , как сделать при фильтрации по названию сортировку в порядке: запрос, запрос*,
*запрос* ?
@@olegkuhalskiy6423 Не понял, что значит "в порядке: запрос, запрос*, запрос"
@@lectoria Есть задание , в нем нужно : 1) Реализовать JSON Rest API для получений и поиска данных (с пагинацией) 2) Реализовать JSON Rest API для получения полных данных (по id или slug) 3) При фильтрации по названии реализовать сортировку в порядке: запрос, запрос*,
*запрос* . Я вот тоже не могу понять, что значит запрос, запрос*,
*запрос* вот и спрашиваю у тех кто разбирается т.к сам только начинаю изучать программирование )
@@olegkuhalskiy6423 А, я понял ) Здесь имеется ввиду, что вам нужно реализовать поиск по названию, где в качестве критерия должен стоять критерий по вхождению подстроки. То есть вам нужно в логике поиска заложить критерий name LIKE 'запрос%'
лучше бы на практике показали ...