Đăng ký người dùng với xác minh email trong Laravel

Laravel là một hệ thống dựa trên PHP dễ hiểu. Nó giúp dễ dàng mã hóa các tính năng phức tạp trong một ứng dụng. Xác thực email là một đặc điểm có thể được triển khai dễ dàng bằng Laravel

Thông thường, nếu người dùng đăng ký trên trang web, chúng tôi cần kiểm tra email. Quá trình này đảm bảo rằng chúng tôi chỉ chấp nhận những người dùng có địa chỉ email hợp lệ. Trước đây, rất khó để mã hóa hoặc bao gồm xác minh email trong các ứng dụng web

Sự xuất hiện của Laravel khiến cuộc sống của các nhà phát triển trở nên dễ dàng hơn. Nói cách khác, việc triển khai xác minh email trong Laravel chỉ cần một vài dòng mã

điều kiện tiên quyết

Để hoàn thành hướng dẫn này, bạn sẽ cần những điều sau đây

  • PHP
  • ấu trùng 8. x
  • mysql

Mục tiêu

Để thực hiện xác minh email trên một trang web bằng Laravel

Bước 1. Cài đặt Laravel 8

Bạn có thể tạo một ứng dụng Laravel mới thông qua Trình soạn thảo hoặc trình cài đặt Laravel

Cài đặt qua nhà soạn nhạc

Laravel sử dụng

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
6 để kiểm soát các phụ thuộc. Do đó, hãy đảm bảo rằng bạn đã cài đặt Trình soạn thảo trên máy tính của mình trước khi cài đặt Laravel

Bạn có thể tải về nhà soạn nhạc từ đây. Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản của nó bằng lệnh sau

composer --version

Tạo một thư mục mới ở đâu đó trên máy của bạn cho dự án mới của bạn, 'verifyEmailApp'. Sau đó điều hướng đến thư mục và cài đặt Laravel theo hướng dẫn sau

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve

Lệnh

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
7 cho phép ứng dụng được lưu trữ cục bộ

Sử dụng trình cài đặt Laravel

Laravel có tiện ích dòng lệnh 'Trình cài đặt Laravel' được sử dụng để cài đặt các ứng dụng Laravel. Để tải xuống bộ cài đặt Laravel, chúng tôi sử dụng lệnh sau

composer global require laravel/installer

Bạn cần đảm bảo rằng 'Thư mục nhị phân của trình soạn thảo' nằm trong biến '$PATH' của bạn để chạy trình cài đặt Laravel.
Kiểm tra xem nó có trong biến

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
8 của bạn hay không bằng cách chạy lệnh sau trong thiết bị đầu cuối của bạn.

echo $PATH

Đầu ra chính xác sẽ trông như hình bên dưới.
______09

Sửa đổi 'của bạn. bashrc' trong trường hợp có bất kỳ lỗi nào [không có đầu ra trên màn hình] hoặc, nếu bạn sử dụng 'ZSH', '. zshrc’ để cung cấp đường dẫn đến thư mục nhà cung cấp của nhà soạn nhạc của bạn

Lệnh này tạo một bản cài đặt mới cho Laravel trong thư mục bạn đã chọn khi cài đặt. Để xây dựng một dự án mà không có thư mục con trong thư mục làm việc hiện tại, có thể sử dụng một. [dấu chấm] thay vì ‘[tên thư mục]’

________số 8

Bạn có thể tìm hiểu thêm về cài đặt Laravel từ đây

Bước 2. Cấu hình cơ sở dữ liệu

Tệp

composer global require laravel/installer
0 chứa tất cả các cấu hình cơ sở dữ liệu. Do đó, bạn nên xác định tất cả các chi tiết cơ sở dữ liệu trong tệp này. Hãy nhớ rằng, tất cả các cấu hình cơ sở dữ liệu phải ở chế độ riêng tư

Sửa đổi các thuộc tính sau theo cài đặt cơ sở dữ liệu của bạn trong tệp

composer global require laravel/installer
1

composer --version
1

Bạn sẽ nhận thấy rằng Laravel 8 tự động cập nhật tệp này mà không cần chạy lệnh

composer --version
2

GHI CHÚ. Trong khi sử dụng Laravel 7. x, bạn phải xóa

composer global require laravel/installer
2 để phản ánh những thay đổi đã thực hiện

Bước 3. Cấu hình giao thức chuyển thư đơn giản

Trong bài viết này, chúng tôi sẽ thiết lập Mailtrap. Chúng tôi sẽ sử dụng dịch vụ này để kiểm tra và gửi email. Mailtrap mô phỏng máy chủ SMTP thực tế và gửi email của bạn đến người nhận thử nghiệm

Laravel hỗ trợ nhiều dịch vụ email vượt trội. SMTP, Mailgun, Postmark, Amazon SES và Sendmail được bao gồm ở đây. Tại ‘config/mail. php’, chúng ta có thể thiết lập dịch vụ email mặc định và thông tin đăng nhập của nó

Hãy lấy thông tin đăng nhập Mailtrap trước khi chỉnh sửa tệp

composer global require laravel/installer
3. Chuyển sang và đăng ký tài khoản với Mailtrap. Chúng tôi sẽ sử dụng một tài khoản có gói miễn phí trong hướng dẫn này. Gói miễn phí cho phép chúng tôi gửi 500 email mỗi tháng và cung cấp một hộp thư đến

Nó chỉ thích hợp cho các ứng dụng nhỏ. Nếu bạn đã đăng ký, hãy mở hộp thư đến Demo và tài khoản của bạn sẽ có thông tin đăng nhập SMTP. Chọn Laravel từ menu thả xuống trong tab Cài đặt SMTP. Phần này hiển thị cấu hình bạn muốn sử dụng trong Laravel framework

Cách tốt nhất để định cấu hình Mailtrap là sao chép cấu hình của nó vào tệp

composer global require laravel/installer
1 của chương trình. Điều này cho phép ứng dụng của bạn gửi email đến hộp thư đến Mailtrap. Tuy nhiên, bạn có thể thay thế Mailtrap bằng Mailgrid, SES hoặc Mailgun sau khi triển khai ứng dụng Laravel

Dưới đây là các cấu hình Mailtrap cần thiết

composer --version
6

Hướng dẫn này thực sự khuyên bạn nên sử dụng Mailtrap do tính đơn giản và tài liệu có cấu trúc tốt

Bước 4. Cài đặt Laravel Jetstream giàn giáo

Laravel 8 tự tách khỏi giàn giáo của nó để xác thực và thay vào đó hỗ trợ Giàn giáo Jetstream. Jetstream được mô tả là “bộ khởi động ứng dụng được thiết kế đẹp mắt dành cho Laravel, cung cấp điểm khởi đầu lý tưởng cho ứng dụng Laravel tiếp theo của bạn. ”

Jetstream cung cấp đăng nhập, đăng ký, 'xác minh email', xác thực hai yếu tố, quản lý phiên, API qua Laravel Sanctum, cũng như các tính năng tùy chọn để quản lý nhóm

Bạn có thể tìm hiểu thêm về các tính năng mới của Laravel bao gồm giàn giáo xác thực từ đây

Hướng dẫn này giả định rằng bạn đã thiết lập và chạy một dự án Laravel. Nếu bạn chưa có cấu hình dự án cho Laravel, bạn có thể làm như vậy trước khi tiếp tục

Sử dụng Composer, quá trình cài đặt Jetstream sẽ bắt đầu

Trong thiết bị đầu cuối của bạn, thực hiện hướng dẫn sau

composer --version
7

Chúng ta cần đợi quá trình cài đặt hoàn tất, sau đó biên dịch tài sản của dự án bằng lệnh bên dưới

composer --version
8

Cuối cùng, bạn có thể chạy di chuyển cơ sở dữ liệu với

composer global require laravel/installer
5

Một lỗi chính mà bạn có thể gặp phải là 'Độ dài khóa tối đa là 1000 byte'. Điều này có nghĩa là bạn cần thay đổi độ dài chuỗi mặc định của nhà cung cấp dịch vụ

Điều hướng đến

composer global require laravel/installer
6 và sao chép và dán đoạn mã sau vào phương thức khởi động

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
0

Ngoài ra, vì các bảng mới đã được thêm vào, bạn sẽ cần phải di chuyển lại. Nhập lệnh

composer global require laravel/installer
7 trong thiết bị đầu cuối của bạn. Sửa đổi này giúp loại bỏ lỗi
composer global require laravel/installer
8

Bước 5. Chuẩn bị người mẫu

Ứng dụng Laravel vận chuyển với mô hình

composer global require laravel/installer
9 [cấu trúc dữ liệu trong cơ sở dữ liệu]. Theo mặc định, lớp mô hình này không triển khai hợp đồng
echo $PATH
0

Do đó, bước đầu tiên của chúng tôi là kích hoạt giao diện

echo $PATH
1

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
1

Thêm giao diện này cho phép bạn gửi email xác minh cho người dùng mới đăng ký. Laravel cũng đi kèm với trình nghe

echo $PATH
2

Nó nằm ở

echo $PATH
3 và gắn liền với
echo $PATH
4. Sự kiện này cho phép bạn gửi liên kết xác minh cho người dùng

Bước 6. Lộ trình

Ba route được yêu cầu để triển khai xác minh email trong Laravel

  • Lộ trình hiển thị thông báo xác minh email cho người dùng bằng liên kết để xác minh email
  • Một lộ trình để xử lý sự kiện nhấp chuột của người dùng để xác minh email
  • Lộ trình gửi lại email theo yêu cầu của người dùng

Bước 7. Thông báo xác minh email

Sau khi gửi tin nhắn cho người dùng, chúng ta nên trả về chế độ xem yêu cầu họ kiểm tra hộp thư đến của họ để hoàn tất quy trình xác minh

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
2

Ghi chú. Tên của tuyến đường trả về thông báo xác minh email PHẢI được đặt tên là

echo $PATH
5

Bước 8. Xử lý xác minh email

Bây giờ bạn đã gửi email có liên kết xác minh, điều gì xảy ra tiếp theo?

Khi được nhấp vào, liên kết này sẽ chuyển hướng người dùng đến trang tổng quan hoặc bất kỳ tuyến đường cụ thể nào khác. Hãy xem cách chúng tôi sẽ xử lý sự kiện nhấp chuột của người dùng này

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
3

Ghi chú. Tuyến đường này phải được đặt tên là

echo $PATH
6

Bước 9. Gửi lại liên kết xác minh email

Một số người dùng có thể gặp thử thách trong giai đoạn xác thực này. Ví dụ: một số trang web sử dụng Mật khẩu thời gian có ngày hết hạn. Nếu người dùng trì hoãn kích hoạt tài khoản của họ, OTP sẽ hết hạn. Trong trường hợp này, một

echo $PATH
7 mới sẽ được tạo lại

Điều này hơi liên quan đến cách hoạt động của liên kết xác minh email Laravel. Người dùng có thể vô tình xóa email trước khi xác minh. Để giải quyết vấn đề này, Laravel cung cấp tính năng gửi lại email xác minh theo yêu cầu của người dùng

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
4

Bước 10. Bảo vệ các tuyến ứng dụng

Trong ứng dụng của bạn, có những tuyến đường mà người dùng chưa được xác minh không nên truy cập. Cách thích hợp nhất để bảo vệ các tuyến đường này là thêm

echo $PATH
8, như hình bên dưới

composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
5

Người dùng chưa được xác minh sẽ tự động được chuyển hướng đến tuyến thông báo xác minh email

Phần kết luận

Trong hướng dẫn này, chúng ta đã học cách kết hợp xác thực email bằng Laravel. Chúng tôi cũng giải quyết cách bảo mật các tuyến đường của chúng tôi, do đó ngăn người dùng trái phép truy cập chúng. Do đó, bạn có thể sử dụng kinh nghiệm này để tạo ra các ứng dụng sáng tạo hơn

Làm cách nào để triển khai xác minh email Laravel 8?

Nếu không, vui lòng truy cập hướng dẫn này. .
Bước 1. Chạy nhà soạn nhạc theo lệnh của bạn. .
Bước 2. Thêm tuyến đường xác minh. .
Bước 3. Thêm bộ điều khiển xác minh. .
Bước 4. Triển khai MustVerifyEmail cho Mô hình người dùng. .
Bước 5. Thêm chế độ xem xác minh. .
Bước 6. Thêm sự kiện vào đăng ký. .
Bước 7. Đăng ký sự kiện và người nghe. .
Bước 8. Đăng ký với mailtrap

Làm cách nào để kiểm tra email đã xác minh trong Laravel?

Chế độ xem xác minh email được đặt trong resources/views/auth/verify .

Làm cách nào để gửi email sau khi đăng ký trong Laravel?

Thư. to[$data['email']]->send[new WelcomeMail[]]; . tạo [[ 'tên' => $data['name'], 'email' => $data['email'], 'password' => Hash. make[$data['password']], ]]; Để nhắc lại rằng email thực tế không đến được người dùng dự định và không có email nào xuất hiện trong hộp thư đến.

Làm cách nào để gửi email OTP bằng Laravel?

Định cấu hình email OTP với SMTP cho Laravel .
Đăng ký tài khoản Mailazy
Hoàn thành xác thực tên miền
Tạo khóa truy cập Mailazy

Chủ Đề