From d1aaff8cd161a8c94e057bc4e99dc2d5542be601 Mon Sep 17 00:00:00 2001 From: Elf Sundae Date: Wed, 1 Jun 2016 22:43:43 +0800 Subject: [PATCH 1/2] Strip down the validator and credentials for sending reset link --- .../Foundation/Auth/ResetsPasswords.php | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Foundation/Auth/ResetsPasswords.php b/src/Illuminate/Foundation/Auth/ResetsPasswords.php index 9d3c5af7fb12..d82093101e34 100644 --- a/src/Illuminate/Foundation/Auth/ResetsPasswords.php +++ b/src/Illuminate/Foundation/Auth/ResetsPasswords.php @@ -71,12 +71,13 @@ public function postEmail(Request $request) */ public function sendResetLinkEmail(Request $request) { - $this->validate($request, ['email' => 'required|email']); + $this->validateSendResetLinkEmail($request); $broker = $this->getBroker(); $response = Password::broker($broker)->sendResetLink( - $request->only('email'), $this->resetEmailBuilder() + $this->getSendResetLinkEmailCredentials($request), + $this->resetEmailBuilder() ); switch ($response) { @@ -88,6 +89,28 @@ public function sendResetLinkEmail(Request $request) } } + /** + * Validate the request of sending reset link. + * + * @param \Illuminate\Http\Request $request + * @return void + */ + protected function validateSendResetLinkEmail(Request $request) + { + $this->validate($request, ['email' => 'required|email']); + } + + /** + * Get the needed credentials for sending reset link. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + protected function getSendResetLinkEmailCredentials(Request $request) + { + return $request->only('email'); + } + /** * Get the Closure which is used to build the password reset email message. * From 749e98f20750b8662a5f32b9e754fc17e134a657 Mon Sep 17 00:00:00 2001 From: Elf Sundae Date: Thu, 2 Jun 2016 00:27:36 +0800 Subject: [PATCH 2/2] Add getResetCredentials --- .../Foundation/Auth/ResetsPasswords.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Illuminate/Foundation/Auth/ResetsPasswords.php b/src/Illuminate/Foundation/Auth/ResetsPasswords.php index d82093101e34..bb2339d826e7 100644 --- a/src/Illuminate/Foundation/Auth/ResetsPasswords.php +++ b/src/Illuminate/Foundation/Auth/ResetsPasswords.php @@ -223,9 +223,7 @@ public function reset(Request $request) $this->getResetValidationCustomAttributes() ); - $credentials = $request->only( - 'email', 'password', 'password_confirmation', 'token' - ); + $credentials = $this->getResetCredentials($request); $broker = $this->getBroker(); @@ -275,6 +273,19 @@ protected function getResetValidationCustomAttributes() return []; } + /** + * Get the password reset credentials from request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + protected function getResetCredentials(Request $request) + { + return $request->only( + 'email', 'password', 'password_confirmation', 'token' + ); + } + /** * Reset the given user's password. *