تایید ایمیل (Email Verification) در لاراول 5.8 ، در لاراول ما به راحتی می توانیم عملیات تایید ایمیل یا Email Verification را راه اندازی کنیم.در این مقاله یک راه تایید ایمیل را بررسی کرده ایم.با ما همراه باشید.
برای هر پروژه لاراول ما نیاز داریم که لاراول را نصب کنیم. به همین دلیل ما یک مقاله در رابطه با چگونگی نصب و پیکربندی اولیه لاراول آماده کرده ایم که می توانید از اینجا ان را مشاهده نمایید : آموزش نصب لاراول به همراه تنظیمات اولیه
بعد از نصب و پیکربندی لاراول ، با دستور زیر جداول را Migrate کنید:
php artisan migrate
حالا اگر شما در دیتابیس پروژه خود جدول ‘users’ را مشاهده نمایید فیلدی با نام ‘email_verified_at‘ را خواهد دید.
فایل .env پروژه خود را باز کنید و پیکربندی های لازم را انجام دهید (SMTP credentials ایمیل و … را وارد کنید).ما در این مقاله به منظور تست از https://mailtrap.io/ استفاده می کنیم.شما همچنین می توانید دمو credentials از mailtrap دریافت کنید.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
به ترمینال (cmd و …) خود بروید دستور زیر راتایپ کنید:
php artisan make:auth
اگر به مسیر resources/views در پروژه خود بروید ، یک پوشه با نام auth قرار دارد که در ین پوشه می توانید فایل های Blade از جمله فایل verify.blade.php را مشاهده نمایید.
مدل User را باز کنید (app/User.php) و MustVerifyEmail را implements کنید.مانند زیر:
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable implements MustVerifyEmail
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
در این مرحله ما باید پارامترهایی را در Auth::routes() وارد کنیم. routes/web.php را باز کنید و مانند زیر آن را تغییر دهید:
Auth::routes(['verify' => true]);
این کار باعث فعال شدن کنترلر Verification جدید همراه با اکشن های مسیر (Route) می شود.شما می توانید فایل VerificationController.php را در پوشه app/Http/Controllers/Auth مشاهده نمایید
برای محافظت از مسیر HomeController ما باید متد __construct() در کنترلر
HomeController.php را مانند زیر تغییر دهیم:
public function __construct()
{
$this->middleware(['auth', 'verified']);
}
با استفاده از این روش می توانیم دسترسی به هر کنترلری رو به کاربران تأیید شده بدهیم.
آدرس http://localhost:8000/register را در مرورگر باز کنید و به پروژه خود بروید و فرم ثبت نام را پر کنید:
بعد از کلیک بر روی دکمه Register شما متنی که در تصویر پایین می بینید را مشاهده خواهید کرد:
حالا صندوق ورودی خود را برای مشاهده ایمیل تأیید بررسی کنید.من برای مشاهده ایمیل تأیید Demo inbox مربوط به mailtrap.io را بررسی می کنم:
زمانیکه من بر روی ‘Verify Email Address’ کلیک کردم من را به صفحه home هدایت کرد. بعد از این کار پایگاه داده را بررسی کردم و دیدم که فیلد email_verified_at به روز شده است.
1 Comment
مرسی از توضیحات
خوب بود…