Xác thực Laravel 8 không có Jetstream

Trong bài viết này, tôi muốn phác thảo một cách đơn giản nhất có thể về sự khác biệt giữa bốn gói Laravel của bên thứ nhất – UI, Jetstream, Fortify và Breeze. Tất cả, ở một mức độ nào đó, giúp bạn dàn dựng các ứng dụng của mình [hoặc một phần của chúng] để bạn có thể tiếp tục với những nội dung tốt

Giao diện người dùng [laravel/ui]

Trước khi gói này tồn tại, xác thực đã được tạo trong Laravel bằng lệnh thủ công auth:make. Nếu bạn đã làm việc với Laravel một thời gian, bạn sẽ nhớ câu lệnh này

Chức năng mà auth:make cung cấp đã bị xóa và đưa vào một gói riêng có tên là laravel/ui. Điều này có nghĩa là bạn phải sử dụng Trình soạn thảo để kéo gói này vào, sau đó đưa ra các lệnh thủ công đã đăng ký để tạo giàn giáo xác thực

Trong một thời gian dài, đây là giàn giáo được hỗ trợ chính thức duy nhất cho Laravel. Nếu không sử dụng gói này, bạn phải tự xây dựng xác thực, đặt lại mật khẩu và các tính năng khác. Gói này cũng đưa ra lựa chọn giữa việc sử dụng Vue hoặc React và đi kèm với Bootstrap và đánh dấu bắt buộc theo mặc định

Mặc dù được coi là di sản nhưng bạn vẫn có thể sử dụng nó ngày nay

Sử dụng gói này nếu

  1. Các tùy chọn khác có vẻ quá phức tạp ở giai đoạn này trong hành trình của bạn
  2. Bạn thích làm việc với Bootstrap hơn và không muốn mất thời gian xóa Tailwind [thảo luận sau] khỏi các tùy chọn mới hơn

dòng phản lực

Laravel Jetstream, được phát hành cùng với Laravel 8, đã tạo ra một bước nhảy vọt từ gói laravel/ui và bao gồm một trải nghiệm giàn giáo hoàn toàn khác. Tại thời điểm viết bài, nó bao gồm các cài đặt trước cho Laravel Livewire hoặc Inertia. js và loại bỏ Bootstrap để thay thế bằng Tailwind

Jetstream cũng cung cấp nhiều tính năng hơn laravel/ui ngoài hộp, bao gồm cập nhật thông tin hồ sơ, xác thực hai yếu tố và hỗ trợ cho các nhóm

Về cơ bản, Jetstream sử dụng Fortify [thảo luận sau] để thúc đẩy chức năng xác thực. Bằng cách dàn dựng một ứng dụng với Jetstream, bạn cũng đang sử dụng Fortify, vì vậy bạn có thể sử dụng bất kỳ tính năng nào mà ứng dụng này cung cấp ngay bây giờ hoặc trong tương lai

Jetstream hoạt động rất khác với laravel/ui bằng cách ẩn đi rất nhiều chức năng cơ bản [chủ yếu là vì nó sử dụng Fortify], ủng hộ Actions cho phép bạn sửa đổi những gì xảy ra, chẳng hạn như khi người dùng đăng ký hoặc xóa tài khoản của họ. Một số hành động này được cung cấp bởi Fortify, một số hành động được xây dựng riêng cho Jetstream

Jetstream sử dụng nhiều thành phần Blade để tạo các thành phần giao diện người dùng có thể tái sử dụng như đầu vào biểu mẫu. Do đó, nếu bạn không quen thuộc với các thành phần của Blade hoặc muốn bắt đầu tùy chỉnh giao diện người dùng một cách nhanh chóng, bạn sẽ phải dành thời gian để tạo lại các thành phần từ đầu theo phong cách của riêng mình. Đây là cả mặt tích cực và tiêu cực, bởi vì việc cấu thành các phần tử giao diện người dùng phổ biến là một phương pháp tuyệt vời, nhưng với một giải pháp dựng sẵn, bạn có thể cần phải thay đổi chi phí để có các thành phần dựng sẵn.

Theo mặc định, Tailwind được bao gồm trong Jetstream, một khung CSS dựa trên tiện ích, mặc dù điều này có thể được hoán đổi cho một khung khác hoặc không có gì cả. Tuy nhiên, bạn phải xây dựng lại tất cả các thành phần của Jetstream vì tất cả chúng đều sử dụng kiểu Tailwind

Cuối cùng, Jetstream sử dụng Alpine. js, một khung JavaScript tối thiểu

Sử dụng Jetstream nếu

  1. Bạn đã quen thuộc với Laravel Livewire, Inertia và Tailwind hoặc không ngại dành thời gian tìm hiểu chúng;
  2. Bạn muốn ngay lập tức bắt đầu xây dựng chức năng cốt lõi của ứng dụng mà không cần đầu tư nhiều thời gian vào bản soạn sẵn

Nếu bạn nghĩ Jetstream có thể phù hợp với mình, hãy xem khóa học Laravel Jetstream và khóa học Laravel Jetstream Teams để bắt kịp tốc độ

củng cố

Laravel Fortify là một triển khai xác thực giao diện người dùng. Điều này có nghĩa là nó không quan tâm đến cách bạn triển khai kiểu dáng hoặc chức năng giao diện người dùng của các tính năng mà nó cung cấp

Laravel Jetstream [đã thảo luận trước đó] sử dụng Fortify để cung cấp các tính năng như xác thực, khôi phục mật khẩu, xác thực hai yếu tố và cập nhật thông tin hồ sơ người dùng

Bạn có thể tự sử dụng Fortify mà không cần Jetstream. Nếu bạn cần tất cả các tính năng mà Fortify cung cấp, nhưng muốn bắt đầu phần còn lại của ứng dụng [bao gồm cả giao diện người dùng] từ đầu, thì Fortify là một lựa chọn tuyệt vời

Fortify hoạt động bằng cách đăng ký tất cả các bộ điều khiển mà bạn cần cho các hành động như đăng ký, đăng nhập và bật xác thực hai yếu tố. Tất cả những gì bạn cần làm là cho Fortify biết chế độ xem nào sẽ hiển thị, đăng dữ liệu lên và Fortify sẽ lo phần còn lại. Sau khi bạn đã cài đặt Fortify, bạn sẽ tìm thấy một thư mục Actions được xuất bản cho phép bạn sửa đổi những gì xảy ra khi các hành động như đăng ký diễn ra

Sử dụng Fortify nếu

  1. Bạn không muốn sử dụng Jetstream, nhưng muốn phần lớn các tính năng mà nó cung cấp
  2. Bạn muốn kiểm soát hoàn toàn kiểu dáng và chức năng ngay từ khi bắt đầu xây dựng ứng dụng của mình

Nếu Fortify giống như những gì bạn cần, hãy xem khóa học Xác thực với Laravel Fortify, bao gồm việc triển khai tất cả các tính năng của Fortify

làn gió

Laravel Breeze là gói giàn giáo mới nhất được phát hành, cung cấp phiên bản cập nhật hơn của laravel/ui. Nó cung cấp chức năng xác thực giống như laravel/ui, nhưng sử dụng Tailwind thay vì Bootstrap và không bao gồm các cài đặt trước cho Vue hoặc React

Mặc dù Breeze sử dụng Tailwind, nhưng việc hoán đổi thứ này lấy thứ khác dễ dàng hơn nhiều so với Jetstream

Breeze không sử dụng Fortify dưới mui xe mà thay vào đó xuất bản các bộ điều khiển cho ứng dụng của bạn để chúng dễ dàng sửa đổi hơn [như gói laravel/ui]

Breeze vẫn sử dụng các thành phần Blade nếu có, vì vậy nếu bạn quyết định sử dụng Breeze, hãy nhớ đọc kỹ những điều này hoặc hoán đổi các thành phần Blade với thứ khác

Sử dụng Breeze nếu

  1. Bạn chỉ muốn một laravel/ui cập nhật hơn
  2. Bạn muốn nhanh chóng sửa đổi chức năng xác thực của ứng dụng của mình
  3. Bạn đang xây dựng một ứng dụng từ đầu không yêu cầu các tính năng mà Fortify hoặc Jetstream cung cấp

Dù bạn đang xây dựng gì, bạn sẽ tìm thấy một gói từ lựa chọn này phù hợp với mình. Chắc chắn, có một đường cong học tập, nhưng bạn sẽ tốn ít thời gian hơn để xây dựng các tính năng mà bạn mong đợi theo mặc định và có nhiều thời gian hơn cho hoạt động thực tế của ứng dụng của bạn

Làm cách nào để đặt xác thực trong Laravel 8?

Xác thực Laravel 8 với giao diện người dùng Laravel .
Bước 1. Thiết lập dự án Laravel
Bước 2. Thiết lập chi tiết cơ sở dữ liệu trong ENV
Bước 3. Cài đặt giao diện người dùng Laravel
Bước 4. Bước lên giàn giáo Auth
Bước 5. Chạy npm install && lệnh npm run dev
Bước 6. Di chuyển cơ sở dữ liệu của bạn

Laravel có nên sử dụng Jetstream không?

Bạn nên sử dụng Jetstream nếu. Bạn đang thông thạo Laravel Livewire, Inertia. js và Tailwind CSS hoặc bạn không ngại dành thời gian tìm hiểu chúng. nếu bạn đang xây dựng một ứng dụng Laravel mới và muốn có một giải pháp dựng sẵn để xác thực người dùng và các tính năng khác.

Tôi nên sử dụng Breeze hay Jetstream?

Laravel Breeze là một lựa chọn tuyệt vời khi giúp mọi thứ hoạt động nhanh chóng. Sau đó, có jetstream cung cấp xác thực hai yếu tố, mã thông báo API và quản lý nhóm . Nếu bạn đang tìm kiếm các tính năng bổ sung thì jetstream là dành cho bạn.

Làm cách nào để sử dụng phần mềm trung gian xác thực trong Laravel 8?

Sử dụng phần mềm trung gian Auth . Nếu người dùng chưa được xác thực, phần mềm trung gian sẽ chuyển hướng người dùng đến màn hình đăng nhập . Tuy nhiên, nếu người dùng được xác thực, phần mềm trung gian sẽ cho phép yêu cầu tiếp tục.

Chủ Đề