Trong hướng dẫn này, chúng ta sẽ xem xét gói sanctum của Laravel. Chúng tôi sẽ thảo luận về cách nó có thể được sử dụng để xác thực Ứng dụng một trang [SPA] hoặc thậm chí API dựa trên mã thông báo
Chúng tôi sẽ tạo một dự án Laravel đơn giản, cấp cho người dùng mã thông báo API và xác thực ứng dụng bằng phiên có sẵn của Laravel
Bài viết cũng sẽ nêu ra những ưu điểm của gói Sanctum so với Laravel passport
Mục lục
điều kiện tiên quyết
- Kiến thức cơ bản về Laravel
- Bạn sẽ cần cài đặt các công cụ kiểm tra API như Postman
Khách quan
Đến cuối hướng dẫn này, bạn sẽ có thể xác thực lệnh gọi API của người dùng và Ứng dụng một trang [SPA] bằng cách sử dụng Laravel Sanctum
Thiết lập dự án
Hãy thiết lập một dự án Laravel và cài đặt gói Sanctum
laravel new sanctumApp
Lệnh trên tạo khung dự án Laravel của bạn. Quá trình này có thể mất một lúc tùy thuộc vào kết nối internet của bạn
Tiếp theo,
cd sanctumApp
composer require laravel/sanctum
6 vào thư mục gốc của dự án của bạn và chạy lệnh saucd sanctumApp
composer require laravel/sanctum
đầu ra
- Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
Bây giờ chúng tôi đã cài đặt
cd sanctumApp
composer require laravel/sanctum
7, chúng tôi cần định cấu hình và di chuyển các tệp bằng cách chạy lệnh sauphp artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
đầu ra
Copied Directory [/vendor/laravel/sanctum/database/migrations] To [/database/migrations]
Copied File [/vendor/laravel/sanctum/config/sanctum.php] To [/config/sanctum.php]
Publishing complete.
Với các tệp sanctum đã được xuất bản, bây giờ chúng ta hãy thiết lập cơ sở dữ liệu của chúng ta bằng cách chỉnh sửa nội dung tệp
cd sanctumApp
composer require laravel/sanctum
8 như sau________số 8
Bây giờ, hãy tiếp tục và tạo cơ sở dữ liệu của chúng ta trên
cd sanctumApp
composer require laravel/sanctum
9 bằng cách chạy lệnh sau trong dòng lệnhcd sanctumApp
composer require laravel/sanctum
0đầu ra
cd sanctumApp
composer require laravel/sanctum
1Trước ________ 30, hãy chạy lệnh SQL bên dưới để tạo cơ sở dữ liệu
cd sanctumApp
composer require laravel/sanctum
7cd sanctumApp
composer require laravel/sanctum
4đầu ra
cd sanctumApp
composer require laravel/sanctum
5Bây giờ hãy tiến hành di chuyển ứng dụng của chúng ta như hình bên dưới
cd sanctumApp
composer require laravel/sanctum
0đầu ra
cd sanctumApp
composer require laravel/sanctum
1Bạn sẽ nhận thấy rằng bảng
- Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
2 được tạo. Điều này rất quan trọng cần lưu ý vì chúng ta sẽ cần đến nó sau này trong bài viếtVới thiết lập cơ sở dữ liệu của chúng tôi, một bước cuối cùng chúng tôi cần là thông báo cho mô hình
- Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
3 về gói nàyHãy xem điều này được thực hiện như thế nào
cd sanctumApp
composer require laravel/sanctum
2Trong mô hình
- Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
3 ở trên, chúng tôi đã nhập tính trạng - Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
5 từ - Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
6. Đặc điểm này cho thấy phương thức - Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
7 mà chúng tôi sẽ sử dụng để phát hành mã thông báoXác thực tuyến đường
Định tuyến là một trong những tính năng cốt lõi của ứng dụng Laravel. Trong phần này, chúng tôi sẽ thiết lập các tuyến đường
- Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
8 của chúng tôi trong tệp - Installing laravel/sanctum [v2.11.2]: Downloading [100%]
.................
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
....................
9 như saucd sanctumApp
composer require laravel/sanctum
3Trong đoạn script trên, chúng tôi xác định bốn tuyến đường. Đầu tiên là yêu cầu
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
0 tới php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
1 người dùng mới sử dụng phương pháp php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
2Chúng tôi cũng đã xác định các tuyến khác, đến
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
3, xem người dùng php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
4 và người dùng php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
5Bạn có thể nhận thấy rằng chúng tôi cũng đã sử dụng
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
6 khi nó chưa được tạoHãy tiếp tục và tạo bộ điều khiển này bằng cách chạy lệnh bên dưới
cd sanctumApp
composer require laravel/sanctum
4Bây giờ hãy tiếp tục và chỉnh sửa bộ điều khiển này như sau
cd sanctumApp
composer require laravel/sanctum
5Chúng tôi có một logic đơn giản trong Bộ điều khiển ở trên. Phương thức
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
7 tạo người dùng mới được xác thực. Sau đó, nó sẽ tạo mã thông báo nếu đăng ký thành côngHàm
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
8 xác thực người dùng và tạo php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
9 khi đăng nhập thành công. Cuối cùng, phương thức Copied Directory [/vendor/laravel/sanctum/database/migrations] To [/database/migrations]
Copied File [/vendor/laravel/sanctum/config/sanctum.php] To [/config/sanctum.php]
Publishing complete.
0 xóa phiên của người dùngBây giờ hãy kiểm tra ứng dụng của bạn trên Postman. Tùy thuộc vào các tuyến đường bạn đã sử dụng, bạn sẽ có thể thấy đầu ra sau
đầu ra đăng ký
Phần kết luận
Trong hướng dẫn này, chúng ta đã xem Laravel Sanctum là gì và nó làm gì. Chúng tôi cũng đã xem xét nó khác với Laravel Passport như thế nào và khi nào nên sử dụng nó
Cuối cùng, chúng tôi đã giới thiệu cách sử dụng Laravel Sanctum để xác thực và cấp quyền truy cập cho người dùng. Do đó, bạn có thể sử dụng kiến thức này để xây dựng các API mạnh mẽ