Публикации - Laravel

Аутентификация и авторизация

Авторизация в Facebook с помощью Jetstream
Авторизация с помощью Passport
Авторизация с помощью laravel/ui
Авторизация с помощью Jetstream
Авторизация в API с помощью Jetstream и Sanctum
Авторизация с помощью Sanctum

Для начала давайте разберемся с разницей между авторизацией и аутентификацией в Laravel.

Аутентификация

Аутентификация (authentication) это процесс логина (захода) на сайт, любым способом. В процессе аутентификации мы гостя идентифицируем на сайте, после аутентификации хиты на странице делает уже не просто какой то рандомный IP адрес, а прямо конкретный пользователь, информация о котором хранится у нас в базе. В интерфейсе появляется кнопка «выход» и становятся доступны маршруты для авторизованных пользователей. Т.е. превращение анонима в известного пользователя, это процесс аутентификации.

Авторизация

Авторизация (authorization) в Laravel это процесс проверки какой то конкретной возможности, доступности какого либо действия для пользователя. Authorization дословно переводится с английского как «разрешение». Действие которое мы разрешаем может быть абсолютно любым.

Если подходить ближе к практическим примерам, то реальной «возможностью» может быть например «возможность создания статьи». Вам в контроллер прилетает POST запрос, в котором лежит содержимое статьи, и в ответ на этот запрос вам нужно добавить статью и послать «ок», либо ответить ошибкой «доступ запрещен».  Вам нужно разрешить или запретить создание для пользователя, или другими словами авторизовать действие. Вот именно тут и начинают работать политики и гейты.

Пакеты

Laravel уже содержит пакеты аутентификации и авторизации пользователя, это пакеты laravel/ui, Passport и Sanctum. Однако, для создания более сложных форм аутентификации и механизмов авторизации пользователя, в том числе через API или через социальные сети, мы можем использовать внешний пакет Jetstream.

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться