I have two guards back office users and users. I am getting this error while sending the reset link.
auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'backOfficeUser' => [
'driver' => 'session',
'provider' => 'backOfficeUsers',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\admin\user\User::class,
],
'backOfficeUsers' => [
'driver' => 'eloquent',
'model' => App\Models\admin\backOfficeUser\BackOfficeUser::class,
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
'backOfficeUsers' => [
'provider' => 'backOfficeUsers',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
],
web.php
// Back Office Users Login Module
Route::controller(BackOfficeUserAuthController::class)->group(function () {
Route::get('/', 'login')->name('backOfficeUser.login');
Route::post('/auth', 'loginAuth')->name('loginAuth');
Route::post('/recover-password', 'sendRecoverPasswordEmail')->name('backOfficeUser.send-password-recover-email');
Route::get('/recover-password', 'showRecoverPasswordForm')->name('backOfficeUser.password-recover-form');
Route::get('/recover-password/{token}', 'showResetPasswordForm')->name('backOfficeUser.password.reset');
Route::post('/recover-password/update', 'validateResetPassword')->name('backOfficeUser.password.update');
});
Function from the controller
public function sendRecoverPasswordEmail(Request $request)
{
$request->validate([
'email' => ['required', 'email'],
]);
$status = Password::broker('backOfficeUsers')->sendResetLink(
$request->only('email')
);
return $status === Password::RESET_LINK_SENT
? back()->with(['status' => __($status)])
: back()->withErrors(['email' => __($status)]);
}
How do I achieve two different flows for Back office users and Users using Guards?