اذهب إلى المحتوى

السؤال

نشر

كيف يُمكن إتاحة التحقق من البريد الإلكتروني في مشروع لارافيل استخدم حزمة Laravel/ui و أريد تفعيل هذه الخاصية فإذا لم يُفعل المُستخدم حسابه عن طريق التحقق من البريد لا يستطيع تصفح خصائص التطبيق.

 

Recommended Posts

  • 1
نشر

توفر لارافيل هذه الخاصية مُسبقاً و ما عليك إلا تفعيلها في المشروع و يتم ذلك عن طريق:

تطبيق الواجهة MustVerifyEmail على النموذج User:

<?php

namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;

// ...

class User extends Authenticatable implements MustVerifyEmail
{
  use HasFactory, Notifiable;

  // ...

}

بعد ذلك في ملف المسارات تحتاج إلى التعديل على:

Auth::routes();

ليُصبح:

Auth::routes(['verify' => true]);

إذا لم تقم بإضافة إعدادات البريد الإلكتروني في ملف .env يجب إضافتها:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="laravel@app.com"
MAIL_FROM_NAME="${APP_NAME}"

يُمكنك إستخدام خدمة mailtrap إن كنت في مرحلة التطوير،

بعد ذلك تحتاج إلى حماية المسارات من المستخدمين الذي لم يقومو بتفعيل حسابهم بإضافة ال middleware verified كما هو موضح أدناه:

Route::middleware(['verified'])->group(function () {
    // المسارات التي تريد حمايتها
});

و بهذا الشكل إذا قام أحد المُستخدمين الذين لم يُفعلو حسابهم بتصفح هذه المسارات يتم إعادة توجيههم تلقائياً إلى صفحة التحقق من البريد الإلكتروني.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...