/** * Send the Password Reset link to User's Email * * @return void */ public function postResetRequest(UserRequest $request) { $user = User::where('email', $request->input('email'))->first(); $token = new Token($user, 'password reset', Config::get('auth.password_reset_token.expire_in'), Config::get('auth.password_reset_token.length')); $token_str = $token->get(); $data = ['title' => Lang::get('auth.password_reset_request_email_title'), 'link' => URL::route('password_reset', ['user_email' => urlencode($user->email), 'password_reset_token' => $token_str])]; Mail::queue('auth.emails.password_reset_request', $data, function ($message) use($user) { $message->to($user->email, $user->name); $message->subject(Lang::get('auth.password_reset_request_email_subject')); }); return Redirect::route('password_reset_request')->with('password_reset_email', $user->email); }
protected function getReset($user_email, $password_reset_token) { //validar el token $token_is_valid = false; $user = User::where('email', $user_email)->first(); if ($user) { $token = new Token($user, 'password reset'); if ($token->check($password_reset_token)) { $token_is_valid = true; } } $title = Lang::get('auth.password_reset_browser_title'); return View::make('auth.password_reset', compact('title', 'token_is_valid', 'user_email', 'password_reset_token')); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { //Validate the token $token_is_valid = false; $user = User::where('email', Route::input('user_email'))->first(); if ($user) { $token = new Token($user, 'password reset'); if ($token->check(Route::input('password_reset_token'))) { $token_is_valid = true; } } if (!$token_is_valid) { return Redirect::route('password_reset_invalid_token')->with('password_reset_invalid_token', true); } App::instance('password_reset_user', $user); return $next($request); }