تابع array_chunk در php
آموزش تابع array_chunk در php با مثال
2019-04-17
شناسایی دستگاه کاربر در لاراول
شناسایی دستگاه کاربر (موبایل ، دسکتاپ و تبلت) در لاراول
2019-04-19
تأیید ایمیل در لاراول 5.8

تأیید ایمیل در لاراول

تایید ایمیل (Email Verification) در لاراول 5.8 ، در لاراول ما به راحتی می توانیم عملیات تایید ایمیل یا Email Verification را راه اندازی کنیم.در این مقاله یک راه تایید ایمیل را بررسی کرده ایم.با ما همراه باشید.

فهرست مطالب آموزش تأیید ایمیل در لاراول

  1. نصب لاراول و پیکربندی اولیه
  2. پیکربندی های مربوط به ایمیل
  3. چارچوب احراز هویت
  4. Implement MustVerifyEmail
  5. پیکربندی مسیر (Route) Auth
  6. تست تأیید ایمیل

نصب لاراول و پیکربندی اولیه

برای هر پروژه لاراول ما نیاز داریم که لاراول را نصب کنیم. به همین دلیل ما یک مقاله در رابطه با چگونگی نصب و پیکربندی اولیه لاراول آماده کرده ایم که می توانید از اینجا ان را مشاهده نمایید : آموزش نصب لاراول به همراه تنظیمات اولیه


بعد از نصب و پیکربندی لاراول ، با دستور زیر جداول را Migrate کنید:

php artisan migrate

حالا اگر شما در دیتابیس پروژه خود جدول ‘users’ را مشاهده نمایید فیلدی با نام ‘email_verified_at‘ را خواهد دید.

تأیید ایمیل در لاراول 5.8
تأیید ایمیل در لاراول 5.8

پیکربندی های مربوط به ایمیل

فایل .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 را مشاهده نمایید.

Implement MustVerifyEmail

مدل 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',
    ];
}

پیکربندی مسیر (Route) Auth

در این مرحله ما باید پارامترهایی را در 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 به روز شده است.

تأیید ایمیل در لاراول
تأیید ایمیل در laravel

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *