'required', 'password' => 'required', ]; } public function getCredentials(): array { // The form field for providing username or password // have name of "username", however, in order to support // logging users in with both (username and email) // we have to check if user has entered one or another $username = $this->get('username'); if ($this->isEmail($username)) { return [ 'email' => $username, 'password' => $this->get('password'), ]; } return $this->only('username', 'password'); } private function isEmail($param): bool { $factory = $this->container->make(ValidationFactory::class); return ! $factory->make( ['username' => $param], ['username' => 'email'] )->fails(); } }