Send email verification code to another base_url in laravel

I have two laravel systems and both connected to one master database

1.customer portal-customer.test
2.admin portal - admin.test

Customers are not allowed to access to the admin portal

But admin can create customers from admin dashboard.

Customers cannot’ login to their profile until they verify their email.

Currently if an user creates an account directly through the customer portal, the user receive the verification email and if he/she clicks on the link with in 60 minutes, account get verified and activated.

verification link look like this:

http://customer.test/email/verify/13/976bdd188ad675ad87c827ca9723fb4a7bda2178?expires=1588242534&signature=cc628ef025eb7cd03fe76093be1e9e3fdfce12f5208c185560d1996b9f662744 

But now when the admin creates an user account for a customer through the admin panel(admin.test)same process need to be happened.

Following is my user create function in the controller

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. ');
}

Here also user create successfully, email also send to the user’s email BUT the issue is verification link’s base url…. it has to be, customer.test but it inclludes admin.test…..So now when ever a user clicks on that link it’ll take customer to a link like,

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

As the customers are not allowed to admin panel user gets a 403 forbidden message..

So how can I change this Base url???

event(new Registered($user));

handles the email sending once when the user is being created..

from Newest questions tagged laravel-5 – Stack Overflow https://ift.tt/2Wd4qa1
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.