Аутентификация запросов к 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

КОМЕНТАРІ • 24

  • @Isiah-Thomas
    @Isiah-Thomas 3 роки тому +9

    Ждем уроков по чтению мыслей! 😂
    Только что искал инфу об аутентификации запросов к API в Ларавел

    • @Ya-GalinaVyacheslavovna
      @Ya-GalinaVyacheslavovna 3 роки тому +1

      не поверишь, но мне тоже в ближайшее время это предстоит, и тут ютубчик САМ мне предлагает )

  • @palach_666
    @palach_666 3 роки тому +1

    Супер урок подробно разобрали аутентификацию
    Можно использовать как и passport так и свой написать, или кроме passport свою проверку добавить

  • @valeriypavlov6433
    @valeriypavlov6433 3 роки тому +2

    Спасибо огромное, наконец то нормальный урок.

  • @SemyonF89
    @SemyonF89 Рік тому

    Блольшое спасибо.

  • @turdakhov
    @turdakhov 2 роки тому

    Спасибо за ваш труд!

  • @Hairy89pro
    @Hairy89pro 6 місяців тому

    Пример наглядный. Есть хорошее решение с jwt

  • @Ya-GalinaVyacheslavovna
    @Ya-GalinaVyacheslavovna 3 роки тому

    не, это совсем уж базис ) но дикция у автора норм, звук громкий - смотреть приятно) и кому-то наверняка пригодится

  • @asyrtmach
    @asyrtmach 3 роки тому +1

    Спасибо, нужная тема, помогло!

  • @davidlakazov9156
    @davidlakazov9156 3 роки тому +1

    Для микросервиса сгодится, но для spa уже нужно реализовывать аутентификацию с помощью oauth 2. Это на laravel можно с помощью passport реализовать.

  • @GigaHertZ28
    @GigaHertZ28 2 роки тому

    топчик

  • @ДанилЛунёв-э1х
    @ДанилЛунёв-э1х 3 роки тому +1

    не ну так проверять маршруты, почему не используете 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;
    }

  • @alexandr-v
    @alexandr-v 3 роки тому

    Интересный урок.
    А как всё таки пользователь узнает этот токен? Если из формы, то оно будет input type hidden ? То он же будет виден или как?
    А если через Bearer то совсем непонятно где его взять.
    Вы еще говорили что есть два способа, в одном из которых как-то можно генерировать ключи. А каким способом пользователь получит к ним доступ?

    • @lectoria
      @lectoria  3 роки тому

      Если речь идет об узкоспециализированном API, которое предназначено для четко обозначенных пользователей, то этот ключ можно создавать и выдавать вручную (как я и показал в этом видео, когда создавал файл config/apitokens.php)
      Когда речь идет о более широких сервисах, то пользователь может создавать этот ключ самостоятельно, например в своем личном кабинете на сайте сервиса (как например на github, trello, google и так далее): вы создаете ключ, он же api_key, он же api_token на странице сайта в разделе настроек, а затем используете этот ключ при обращении к API этого сервиса.
      Если же говорить об обращении к API через форму или вообще через frontend, то здесь нужно учитывать насколько критично хранить ключ в секрете. Например, google позволяет настроить ограничение, с какого адреса будет делаться запрос, поэтому ключ хранится в открытом виде и его можно увидеть в коде страницы сайта, так как помимо ключа при запросе важно еще, чтобы запрос был с определенного IP адреса.

  • @vitalymorgunov7823
    @vitalymorgunov7823 2 роки тому +1

    Отличный урок, спасибо! Жаль что не осветили дополнительные опции unauthenticated(). В частности сделав все по вашему примеру у меня вылетает ошибка Route [login] not defined. Т.е. по умолчанию идет попытка перенаправить пользователя на страницу логина - а для апи это лишнее.

    • @voxtens
      @voxtens 2 роки тому +1

      Да, почему-то у автора это не учтено, поэтому я сделал по-другому:
      1. Сначала сгенерировал новый посредник с помощью команды php artisan make:middleware AuthenticateApi
      2. Далее в методе handle прописал свою логику, получилось вот так:

  • @olegkuhalskiy6423
    @olegkuhalskiy6423 3 роки тому

    Добрый вечер , как можно реализовать JSON Rest API для получений и поиска данных (с пагинацией) ?

    • @lectoria
      @lectoria  3 роки тому +1

      Да в принципе, ничего особого предпринимать не нужно. Делаете маршруты, создаете контроллеры. Только в контролерах возвращаете не view, как это происходит обычно при отображении страниц сайта, а просто объект модели или коллекции или Paginator.

    • @olegkuhalskiy6423
      @olegkuhalskiy6423 3 роки тому

      @@lectoria Cпасибоза ответ 👍 и еще вопрос , как сделать при фильтрации по названию сортировку в порядке: запрос, запрос*,
      *запрос* ?

    • @lectoria
      @lectoria  3 роки тому

      @@olegkuhalskiy6423 Не понял, что значит "в порядке: запрос, запрос*, запрос"

    • @olegkuhalskiy6423
      @olegkuhalskiy6423 3 роки тому +1

      @@lectoria Есть задание , в нем нужно : 1) Реализовать JSON Rest API для получений и поиска данных (с пагинацией) 2) Реализовать JSON Rest API для получения полных данных (по id или slug) 3) При фильтрации по названии реализовать сортировку в порядке: запрос, запрос*,
      *запрос* . Я вот тоже не могу понять, что значит запрос, запрос*,
      *запрос* вот и спрашиваю у тех кто разбирается т.к сам только начинаю изучать программирование )

    • @lectoria
      @lectoria  3 роки тому +1

      @@olegkuhalskiy6423 А, я понял ) Здесь имеется ввиду, что вам нужно реализовать поиск по названию, где в качестве критерия должен стоять критерий по вхождению подстроки. То есть вам нужно в логике поиска заложить критерий name LIKE 'запрос%'

  • @karlengels4956
    @karlengels4956 3 роки тому +1

    лучше бы на практике показали ...