middleware('guest')->except('logout'); } /** * Determine if the request field is email or username. * * @param \Illuminate\Http\Request $request * @return string */ public function field(Request $request) { $email = $this->username(); return filter_var($request->get($email), FILTER_VALIDATE_EMAIL) ? $email : 'phone'; } /** * Get the needed authorization credentials from the request. * * @param \Illuminate\Http\Request $request * @return array */ protected function credentials(Request $request) { $field = $this->field($request); return [ $field => $request->get($this->username()), 'password' => $request->get('password') ]; } /** * Validate the user login request. * * @param \Illuminate\Http\Request $request * @return void */ protected function validateLogin(Request $request) { $field = $this->field($request); $messages = ["{$this->username()}.exists" => trans('auth.fail')]; $this->validate($request, [ $this->username() => "required|exists:users,{$field}", 'password' => 'required', ], $messages); } }