The email_confirmed user field now actually indicates if an email is confirmed rather than defaulting to true if not checked.
This ensures toggleing the 'Require email confirmation' setting actually makes all currently unconfirmed users confirm thier emails.
}
if (setting('registration-confirmation') || setting('registration-restrict')) {
- $newUser->email_confirmed = false;
$newUser->save();
$this->emailConfirmationService->sendConfirmation($newUser);
return redirect('/register/confirm');
}
- $newUser->email_confirmed = true;
-
auth()->login($newUser);
session()->flash('success', 'Thanks for signing up! You are now registered and signed in.');
return redirect($this->redirectPath());
{
/**
* The Guard implementation.
- *
* @var Guard
*/
protected $auth;
/**
* Create a new filter instance.
- *
* @param Guard $auth
*/
public function __construct(Guard $auth)
/**
* Handle an incoming request.
- *
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
- if(auth()->check() && auth()->user()->email_confirmed == false) {
+ if ($this->auth->check() && setting('registration-confirmation') && !$this->auth->user()->email_confirmed) {
return redirect()->guest('/register/confirm/awaiting');
}
$model->name = $userDetails['name'];
$model->external_auth_id = $userDetails['uid'];
$model->email = $userDetails['email'];
- $model->email_confirmed = true;
+ $model->email_confirmed = false;
return $model;
}
return $this->user->forceCreate([
'name' => $data['name'],
'email' => $data['email'],
- 'password' => bcrypt($data['password'])
+ 'password' => bcrypt($data['password']),
+ 'email_confirmed' => false
]);
}