Quán tính xử lý xác thực người dùng với Laravel bằng cách tận dụng các tính năng xác thực tích hợp của Laravel và mở rộng chúng để làm việc liền mạch với kiến trúc ứng dụng một trang (SPA) của quán tính. Đây là những điểm chính:
1. Sử dụng xác thực mặc định của Laravel:
-Quán tính sử dụng xác thực dựa trên phiên mặc định của Laravel, có nghĩa là người dùng được xác thực bằng các cơ chế xác thực tích hợp của Laravel.
- Cách tiếp cận này loại bỏ sự cần thiết phải tạo API riêng để xác thực, vì quán tính có thể tương tác trực tiếp với hệ thống xác thực của Laravel [1] [2] [3].
2. Chia sẻ người dùng được xác thực:
- Phương thức `Share` của quán tính được sử dụng để chia sẻ người dùng được xác thực với frontend. Điều này cho phép Frontend truy cập đối tượng người dùng và sử dụng nó để kiểm tra ủy quyền [2].
3. Kiểm tra ủy quyền:
- Kiểm tra ủy quyền được thực hiện trên mặt trận bằng cách sử dụng đối tượng người dùng được chia sẻ bởi quán tính. Điều này đảm bảo rằng Frontend có thể hiển thị động hoặc ẩn nội dung dựa trên quyền của người dùng [2].
4. Biến đổi dữ liệu:
- Chuyển đổi dữ liệu là rất quan trọng để kiểm tra ủy quyền. Phương pháp `Share` của quán tính có thể được sử dụng để chuyển đổi dữ liệu trước khi đến phía trước, giúp xử lý các yêu cầu ủy quyền phức tạp dễ dàng hơn [2].
5. Bộ dụng cụ khởi động:
- Laravel cung cấp các bộ dụng cụ khởi động như Laravel Breeze và Laravel JetStream cung cấp các điểm bắt đầu được thiết kế đẹp mắt để kết hợp xác thực vào ứng dụng Laravel mới của bạn. Các bộ dụng cụ này bao gồm các tùy chọn giàn giáo dựa trên LiveWire hoặc quán tính, giúp bạn dễ dàng tích hợp xác thực với ứng dụng quán tính của bạn [4].
Bằng cách tận dụng các tính năng này, quán tính cung cấp một cách liền mạch và hiệu quả để xử lý xác thực người dùng với Laravel, cho phép các nhà phát triển tập trung vào việc xây dựng ứng dụng của họ mà không phải lo lắng về sự phức tạp của xác thực và ủy quyền.
Trích dẫn:[1] https://atlas.dev/blog/using-inertia-with-laravel-in-2024
[2] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[3] https://github.com/inertiajs/inertia-laravel/issues/21
[4] https://laravel.com/docs/11.x/authentication
[5] https://stackoverflow.com/questions/66080777/laravel-inertia-js-and-vue-check-if-user-is-logged-in