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 LaravelBạ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
1composer --version
1Bạ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
2GHI CHÚ. Trong khi sử dụng Laravel 7. x, bạn phải xóa
2 để phản ánh những thay đổi đã thực hiệncomposer global require laravel/installer
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ư đếnNó 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 LaravelDưới đây là các cấu hình Mailtrap cần thiết
composer --version
6Hướ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
7Chú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
8Cuối cùng, bạn có thể chạy di chuyển cơ sở dữ liệu với
composer global require laravel/installer
5Mộ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 độngcomposer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
0Ngoà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
8Bướ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
0Do đó, bước đầu tiên của chúng tôi là kích hoạt giao diện
echo $PATH
1composer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
1Thê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
2Nó 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ùngBướ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
2Ghi 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à
5echo $PATH
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
3Ghi chú. Tuyến đường này phải được đặt tên là
6echo $PATH
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
4Bướ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ướicomposer create-project laravel/laravel verifyEmailApp
cd verifyEmailApp
php artisan serve
5Ngườ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