Setting a custom user verification link issue in laravel

I have been trying to send my users a custom verification email in laravel.

First I run this

php artisan make:notification SendRegisterEmailNotifcation

This has created a file called, SendRegisterEmailNotifcation.php inside my App/Notifications.

Then Inside my user controller’s store method, I called that method after user insertion done.

Following is my store function,

public function store(Request $request)
{
request()->validate([
'name' => ['required', 'alpha','min:2', 'max:255'],
'last_name' => ['required', 'alpha','min:2', 'max:255'],
'email' => ['required','email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:12', 'confirmed','regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[@$!%*?&])[[email protected]$!%*?&]{12,}$/'],
'mobile'=>['required', 'regex:/^+[0-9]?()[0-9](s|S)(d[0-9]{8})$/','numeric','min:9'],
'username'=>['required', 'string', 'min:4', 'max:10', 'unique:users'],
'roles'=>['required'],
'user_roles'=>['required'],
]);

//Customer::create($request->all());

$input = $request->all();
$input['password'] = Hash::make($input['password']);

$user = User::create($input);
$user->assignRole($request->input('roles'));

//event(new Registered($user));
$user->notify(new SendRegisterMailNotification());

return redirect()->route('customers.index')
->with('success','Customer created successfully. Verification email has been sent to user email. ');
}

And this is my SendRegisterMailNotification.php

<?php

namespace AppNotifications;

use IlluminateBusQueueable;
use IlluminateContractsQueueShouldQueue;
use IlluminateNotificationsMessagesMailMessage;
use IlluminateNotificationsNotification;

class SendRegisterMailNotification extends Notification
{
use Queueable;

/**
* Create a new notification instance.
*
* @return void
*/
public function __construct()
{
//
}

/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}

/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return IlluminateNotificationsMessagesMailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->line('The introduction to the notification.')
->action('Click Here to Activate', url('/'))
->line('Thank you for using our application!');
}

/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}

Now this process works well, newly created users are receiving their emails.

But the issue is

Normally in laravel activation link has a certain format and once the user hits on the button user’s account get activated and store verified date time in the user table, also the link expires in 60 minutes..

Sample verification link,

http://test.site/email/verify/22/3b7c357f630a62cb2bac0e18a47610c245962182?expires=1588247915&signature=7e6869deb1b6b700dcd2a49b2ec66ae32fb0b6dc99aa0405095e9844962bb53c

But in my case I am struggling to set that activation link and the process properly, How can I do that using the above customized email?

from Newest questions tagged laravel-5 – Stack Overflow https://ift.tt/3bTvb9Z
via IFTTT

Related Posts

Codeigniter : Parse error: syntax error, unexpected ‘const’ (T_CONST), expecting variable (T_VARIABLE) in Laravel project

I’m getting following error: **Parse error: syntax error, unexpected ‘const’ (T_CONST), expecting variable (T_VARIABLE)** Note : It’s working in local but facing issue in production server. private…

Firebase receive notification while tab is active or on focus

What i want is to be able to perform an action when a user receives a notification while the browser is open and tab is active or…

Laravel’s alias loader does not find class

We have a legacy project that we cannot update and we need to make some changes in symfony’s Response.php in vendor. We have solved this by copying…

Laravel 5 – generic document management

I have a system where you can create different types of unique documents. For instance, one document is called Project Identified and this expects certain inputs. Originally,…

Laravel Nova limit the results in indexQuery

I ran intro a situation where I need to limit the results of a resource to only 3 results. To be more specific, based on the logged…

Auditoria en laravel 5.8 [closed]

Cómo puedo automatizar el registro de actividades de un usuario en laravel? Si un usuario ingresa a un app de laravel, debo guardar toda su actividas, a…

Leave a Reply

Your email address will not be published.