Cách đăng nhập Laravel không cần mật khẩu với các ví dụ

Laravel là một khung web phổ biến để xây dựng các ứng dụng bằng ngôn ngữ lập trình PHP. Một tính năng có trong Laravel là khả năng kích hoạt đăng nhập không cần mật khẩu, cho phép người dùng đăng nhập vào tài khoản của họ mà không cần nhập mật khẩu

Để bật đăng nhập không cần mật khẩu trong Laravel, bạn cần làm theo các bước sau

1. Cài đặt gói Laravel Passport bằng cách chạy lệnh sau trong thiết bị đầu cuối của bạn.

composer require laravel/passport

2. Tiếp theo, bạn sẽ cần chạy lệnh cài đặt Hộ chiếu, lệnh này sẽ tạo các bảng cần thiết trong cơ sở dữ liệu của bạn và tạo các khóa mã hóa cần thiết để mã hóa an toàn mã thông báo truy cập của người dùng của bạn.

php artisan passport:install

3. Khi Passport được cài đặt, bạn sẽ cần thêm đặc điểm `Laravel\Passport\HasApiTokens` vào mô hình `User` của bạn. Đặc điểm này cung cấp các phương thức trợ giúp để quản lý và xác thực mã thông báo truy cập.

namespace App;

use Laravel\Passport\HasApiTokens; use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable { use HasApiTokens;

// User model code }

4. Trong `AuthServiceProvider` của bạn, bạn sẽ cần gọi `Passport. phương thức routes` trong phương thức `boot`. Điều này sẽ đăng ký các tuyến đường cần thiết để phát hành mã thông báo truy cập và thu hồi mã thông báo truy cập, ứng dụng khách và mã thông báo truy cập cá nhân.

namespace App\Providers;

use Laravel\Passport\Passport; use Illuminate\Support\Facades\Gate; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider { // AuthServiceProvider code

public function boot() { $this->registerPolicies();

Passport::routes(); } }

5. Để bật xác thực cấp mật khẩu, bạn sẽ cần thêm ứng dụng khách `PasswordGrant` vào bảng cơ sở dữ liệu `oauth_clients` của mình. Điều này có thể được thực hiện thủ công bằng cách chèn một bản ghi mới với các giá trị sau.

client_id: 1
client_secret: 
name: Password Grant Client
grant_type: password

6. Tiếp theo, bạn sẽ cần cập nhật `config/auth. php` để sử dụng trình điều khiển `passport` cho bộ bảo vệ `api`. Điều này sẽ yêu cầu Laravel sử dụng các dịch vụ xác thực của Passport khi xác thực người dùng API của bạn.

'guards' => [
    // Other guards

'api' => [ 'driver' => 'passport', 'provider' => 'users', ], ],

7. Để sử dụng đăng nhập không cần mật khẩu, bạn cần tạo một biểu mẫu cho phép người dùng nhập địa chỉ email của họ. Khi biểu mẫu được gửi, ứng dụng của bạn sẽ tạo mã thông báo đặt lại mật khẩu và gửi cho người dùng qua email. Để tạo mã thông báo đặt lại mật khẩu, bạn có thể sử dụng phương thức `createToken` trên mô hình `Người dùng`, như thế này.

$user = User::where('email', $request->email)->first();

if ($user) { $token = $user->createToken('Token Name')->accessToken; }

8

Nếu bạn quan tâm đến việc tìm câu trả lời cho câu hỏi Cách đăng nhập không cần mật khẩu của Laravel với các ví dụ , thì bạn nên đọc bài viết sau. Để giúp bạn hiểu rõ hơn về cách giải quyết vấn đề này, tôi sẽ đưa ra một ví dụ

Cách đăng nhập Laravel không cần mật khẩu với các ví dụ
use App\User;
use Grosv\LaravelPasswordlessLogin\LoginUrl;
 
function sendLoginLink()
{
    $user = User::find(1);
 
    $generator = new LoginUrl($user);
    $url = $generator->generate();
 
    // OR Use a Facade
    $url = PasswordlessLogin::forUser($user)->generate();
 
    // Send $url in an email or text message to your user
    return $url;
}

Mong được hỗ trợ bạn kịp thời hơn. Vui lòng tìm các ví dụ minh họa bổ sung xung quanh câu hỏi' Cách đăng nhập không cần mật khẩu của Laravel với các ví dụ

Làm cách nào để đăng nhập bằng Auth trong laravel?

Làm cách nào để kích hoạt xác thực trong Laravel? . Sau khi di chuyển cơ sở dữ liệu của bạn, hãy mở http. // ứng dụng của bạn. kiểm tra/đăng ký hoặc bất kỳ URL nào khác được gán cho ứng dụng của bạn trên trình duyệt của bạn. Install the laravel/ui Composer bundle and run php artisan ui vue –auth in a new Laravel application. After migrating your database, open http://your-app.test/register or any other URL that's assigned to your application on your browser.

Làm cách nào để đăng nhập không cần mật khẩu?

Khi sử dụng xác thực không cần mật khẩu bằng SMS, người dùng. .
Cung cấp số điện thoại di động thay vì kết hợp tên người dùng/mật khẩu
Nhận mã sử dụng một lần qua SMS
Nhập mã sử dụng một lần trên màn hình đăng nhập để truy cập ứng dụng

Làm thế nào để bạn thực hiện xác thực Passwordless?

Các công ty có thể xem xét các phương thức xác thực không cần mật khẩu có sẵn sau đây. .
dựa trên email. Người dùng nhận được mật mã tạm thời một lần qua email để đăng nhập vào tài khoản của họ. .
WebDựa trên Authn. .
dựa trên sinh trắc học. .
Một sự kết hợp của các phương pháp

Đăng nhập không cần mật khẩu có an toàn hơn không?

Đó là cách hiệu quả nhất để giảm các hoạt động quản lý mật khẩu rủi ro và ngăn chặn các cuộc tấn công đánh cắp thông tin xác thực . Thay vì nhập mật khẩu, người dùng cung cấp một số bằng chứng khác về danh tính của họ như dấu vân tay, quét khuôn mặt hoặc mã thông báo phần cứng. Trở thành mật khẩu mang lại lợi ích cho cả doanh nghiệp và khách hàng.