Yes, this is the correct and default behavior of Laravel's authentication system.
However, you can change this behavior if you wish. Assuming that you're using the default LoginController, you can override the credentials method in the App\Http\Controllers\Auth\LoginController.
protected function credentials(Request $request)
{
$credentials = [
$this->username() => strtolower($request->input($this->username())),
'password' => $request->get('password'),
];
return $credentials;
}
After that you need to make sure all emails are stored in lowercase in your database. You can add the following method to your User model to achieve that
public function setEmailAttribute($value)
{
$this->attributes['email'] = strtolower($value);
}
Let me know if that works for you!