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?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire