Làm thế nào để laravel sanctum với các ví dụ

Laravel Sanctum là một gói dành cho Laravel cung cấp xác thực cho Ứng dụng một trang (SPA) và các API đơn giản. Nó cho phép bạn xác thực người dùng dựa trên mã thông báo được lưu trữ trong cookie được đính kèm với trình duyệt của người dùng

Để sử dụng Laravel Sanctum, trước tiên bạn cần cài đặt gói trong dự án Laravel của mình. Bạn có thể làm điều này bằng cách chạy lệnh sau

composer require laravel/sanctum

Sau khi gói được cài đặt, bạn cần đăng ký nhà cung cấp dịch vụ Sanctum trong `config/app. tập tin php`. Bạn có thể làm điều này bằng cách thêm dòng sau vào mảng `providers`

Laravel\Sanctum\SanctumServiceProvider::class,

Tiếp theo, bạn cần chạy các di chuyển do gói cung cấp để tạo các bảng cơ sở dữ liệu được sử dụng để lưu trữ thông tin mã thông báo. Bạn có thể làm điều này bằng cách chạy lệnh sau

php artisan migrate

Sau khi các bảng cơ sở dữ liệu được tạo, bạn cần kích hoạt phần mềm trung gian `sanctum` trong `app/Http/Kernel của mình. tập tin php`. Bạn có thể làm điều này bằng cách thêm dòng sau vào nhóm phần mềm trung gian `web`

\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,

Phần mềm trung gian này sẽ đảm bảo rằng các yêu cầu từ SPA hoặc API có trạng thái, nghĩa là chúng chứa mã thông báo xác thực hợp lệ trong cookie

Để xác thực người dùng, bạn có thể sử dụng phương thức `đăng nhập` được cung cấp bởi mặt tiền `Auth`. Phương pháp này sẽ tạo một mã thông báo mới cho người dùng và đính kèm nó vào trình duyệt của họ dưới dạng cookie

Dưới đây là một ví dụ về cách bạn có thể sử dụng phương thức `đăng nhập` trong bộ điều khiển

use Illuminate\Support\Facades\Auth;

public function login(Request $request) { $request->validate([ 'email' => 'required|email', 'password' => 'required' ]);

$credentials = $request->only(['email', 'password']);

if (Auth::attempt($credentials)) { return response()->json([ 'message' => 'Successfully logged in.' ], 200); }

return response()->json([ 'message' => 'Invalid email or password.' ], 401); }

Hành động của bộ điều khiển này sẽ xác thực email và mật khẩu của người dùng, sau đó cố gắng đăng nhập bằng cách gọi phương thức `attempt` trên mặt tiền `Auth`. Nếu đăng nhập thành công, bộ điều khiển sẽ trả về phản hồi JSON với thông báo thành công

Sau khi người dùng được xác thực, bạn có thể truy cập thông tin của họ bằng cách gọi phương thức `user` trên facade `Auth`. Đây là một ví dụ về cách bạn có thể sử dụng phương pháp này trong bộ điều khiển

use Illuminate\Support\Facades\Auth;

public function user(Request $request) { return response()->json([ 'user' => Auth::user() ], 200); }

Hành động của bộ điều khiển này sẽ trả về phản hồi JSON với thông tin của người dùng được xác thực

Để đăng xuất người dùng, bạn có thể sử dụng phương thức `đăng xuất` được cung cấp bởi mặt tiền `Auth`. Phương pháp này sẽ xóa mã thông báo được liên kết với trình duyệt của người dùng, đăng xuất họ một cách hiệu quả. Đây là một ví dụ về cách

Bài viết này tôi sẽ cung cấp cho 15 ví dụ về cách sử dụng Cách sử dụng laravel sanctum với các ví dụ .

Làm thế nào để laravel sanctum với các ví dụ
//install
composer require laravel/sanctum
  
// vendor
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
Broadcast::routes(['middleware' => ['auth:sanctum']]);
________số 8
return $user->createToken('token-name', ['server:update'])->plainTextToken;
Laravel\Sanctum\SanctumServiceProvider::class,
0
Laravel\Sanctum\SanctumServiceProvider::class,
1
Laravel\Sanctum\SanctumServiceProvider::class,
2
Laravel\Sanctum\SanctumServiceProvider::class,
3
Laravel\Sanctum\SanctumServiceProvider::class,
4
Laravel\Sanctum\SanctumServiceProvider::class,
5
Laravel\Sanctum\SanctumServiceProvider::class,
6
Laravel\Sanctum\SanctumServiceProvider::class,
7
Laravel\Sanctum\SanctumServiceProvider::class,
8
Laravel\Sanctum\SanctumServiceProvider::class,
9
php artisan migrate
0

Nếu bạn không hài lòng với câu trả lời của tôi về Cách sử dụng laravel sanctum với các ví dụ. Xem thêm các chủ đề tương tự hoặc để lại cho tôi một câu hỏi mới

Sanctum trong Laravel 8 là gì?

Sanctum cũng cho phép mỗi người dùng ứng dụng của bạn tạo nhiều mã thông báo API cho tài khoản của họ. Vì vậy, bạn cũng muốn tạo api cho ứng dụng di động của mình thì bạn có thể làm theo hướng dẫn này để biết cách tạo api còn lại từng bước với laravel 8 và sanctum. Nếu bạn là người mới, đừng lo lắng về điều đó tôi đã viết hướng dẫn từng bước

Có thể chỉ sử dụng thánh địa Laravel cho Xác thực mã thông báo API không?

Hoàn toàn ổn khi chỉ sử dụng Sanctum để xác thực mã thông báo API hoặc chỉ để xác thực SPA. Chỉ vì bạn sử dụng Sanctum không có nghĩa là bạn bắt buộc phải sử dụng cả hai tính năng mà nó cung cấp. Các phiên bản gần đây nhất của Laravel đã bao gồm Laravel Sanctum

Làm cách nào để kiểm tra API CRUD của Laravel?

Sau khi kiểm tra API xác thực, hơn nữa, chúng ta có thể kiểm tra API CRUD của Laravel Sanctum, nhưng trước đó, hãy chuyển sang tab “Ủy quyền”, chọn “Mã thông báo mang” và xác định mã thông báo mà bạn đã nhận được sau khi đăng nhập ở bước trước. Tương tự, bạn có thể lấy tất cả các mục, chỉ cần đặt phương thức GET và để người đưa thư thực hiện công việc của mình

hasapitokens trong Laravel sanctum là gì?

Sanctum cho phép bạn phát hành mã thông báo API/mã thông báo truy cập cá nhân có thể được sử dụng để xác thực các yêu cầu API cho ứng dụng của bạn. Khi thực hiện các yêu cầu sử dụng mã thông báo API, mã thông báo phải được đưa vào tiêu đề Ủy quyền dưới dạng mã thông báo Bearer. Để bắt đầu phát hành mã thông báo cho người dùng, mô hình Người dùng của bạn nên sử dụng đặc điểm Laravel\Sanctum\HasApiTokens

Laravel hoạt động như thế nào?

Laravel Sanctum hoạt động như thế nào? . Những mã thông báo này có thời gian hết hạn dài nhưng có thể bị thu hồi bất cứ lúc nào theo cách thủ công. used to issue API tokens to users without the complication of OAuth. These tokens have a long expiration time but can be revoked at any time manually.

Làm cách nào để bạn nhận được mã thông báo thánh địa?

Làm cách nào để nhận mã thông báo truy cập hiện tại trong Sanctum? .
Thạc sĩ Laracast. Kiếm được sau khi hoàn thành 1000 bài học Laracasts
Gia sư Laracast. Kiếm được khi số phần thưởng "Trả lời hay nhất" của bạn là 100 trở lên
Laracast Sensei. Kiếm được khi điểm kinh nghiệm của bạn vượt qua 1 triệu
Top 50. .
Trò chuyện Cathy

Khu bảo tồn Laravel có sử dụng JWT không?

Có vì cả Laravel passport và Laravel sanctum đều sử dụng JWT để ủy quyền và không vì bản thân framework của Laravel không liên quan gì đến JWT.

Việc sử dụng Sanctum là gì?

Laravel sanctum là gói Laravel đơn giản và nhẹ để triển khai hệ thống xác thực API REST cho ứng dụng di động, ứng dụng một trang (SPA) và API dựa trên mã thông báo. It can generate multiple API tokens for the users, and the single-page application can be authenticated using the user's session.