У меня есть административный портал и портал клиентов в моем приложении laravel
customer portal: customer.site
admin portal :admin.site
У меня есть возможность зарегистрироваться для клиентов на моем портале клиентов. После регистрации пользователя на электронную почту пользователя будет отправлено письмо с подтверждением.
Пример ссылки подтверждения может выглядеть следующим образом: http://customer.site/email/verify/10/2bf6330a5b3693fb6f5380e83e5494f82b87a9f8?expires=1588234415&signature=34ac37e86d1de7e316e717f2e1acf32cd4ee6ed97df56d94496bb2fa79a0f608
, так что это прекрасно работает.
Теперь моя проблема:
Когда я пытаюсь создать клиента через портал ADMIN (admin.site), пользователь успешно создает письмо, и письмо с подтверждением также успешно отправляется на его адрес. Но ссылка для активации выглядит примерно так:
http://admin.site/email/verify/10/2bf6330a5b3693fb6f5380e83e5494f82b87a9f8?expires=1588234415&signature=34ac37e86d1de7e316e717f2e1acf32cd4ee6ed97df56d94496bb2fa79a0f608
, поэтому, когда пользователь нажимает на эту ссылку, на запрещенной странице появляется сообщение, что у вас нет разрешения на доступ, поскольку клиенты не имеют права использовать портал администратора
Как я могу установить эту ссылку для подтверждения на портале клиента, которая является customer.site
???
Это моя функция создания клиента в административном контроллере,
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. ');
}
Я отправив письмо с подтверждением от этого
event(new Registered($user));
И в моем ENV
я даже добавил параметр с именем APP_DOMAIN
и установил его значение в http://customer.site
также в моем app.php
Я установил
'url' => env('APP_DOMAIN', 'http://customer.site'),
, но ссылка для активации по-прежнему перенаправляет на http://admin.site
Как я могу решить эту проблему?