Customize email verification link issue in laravel

I have admin portal and customer portal in my laravel based application

customer portal: customer.site
admin portal :admin.site

I have option to register for customers on my customer portal. Once an user register a verification email will be sent to user email with the verification link.

sample verification link can be like this: http://customer.site/email/verify/10/2bf6330a5b3693fb6f5380e83e5494f82b87a9f8?expires=1588234415&signature=34ac37e86d1de7e316e717f2e1acf32cd4ee6ed97df56d94496bb2fa79a0f608

so this works perfectly.

Now my issue is,

When I try to create a customer through the ADMIN portal (admin.site) the user creates successfully and the verification mail also sending successfully to the customer address. But, the activation link is something like this

http://admin.site/email/verify/10/2bf6330a5b3693fb6f5380e83e5494f82b87a9f8?expires=1588234415&signature=34ac37e86d1de7e316e717f2e1acf32cd4ee6ed97df56d94496bb2fa79a0f608 

so when a cutomer clicks on that link a forbidden page displays sayin you have no permission to access as customers are not allowed to use the admin portal

How can I set that verification link to customer portal which is customer.site ???

This is my create customer function in the admin 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)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{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));

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

I'm sending my verification mail from this

event(new Registered($user));

And in my ENV I even added a param called APP_DOMAIN ans set it's value to http://customer.site

also in my app.php I set this

'url' => env('APP_DOMAIN', 'http://customer.site'),

but still the activation mail link redirecting to http://admin.site

How can I fix this issue?



from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/2SBzT4P
via IFTTT

تعليقات

المشاركات الشائعة من هذه المدونة

I am unable to figure out how to create payment collection request, after a form has been submitted in laravel

laravel, mysql transaction not working after failed one time