I.m a noob @laravel, so i don't know what to do. its a password reset form that gives the error after the submit button is clicked.
Class "App\Http\Controllers\User\Auth\Hash" no
$user->password = Hash::make($request->password);
after receiving an otp code the user is redirected to this form to input new password but i get this error.
<?php
namespace App\Http\Controllers\User\Auth;
use App\Http\Controllers\Controller;
use App\Models\PasswordReset;
use App\Models\User;
use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Http\Request;
use Illuminate\Validation\Rules\Password;
class ResetPasswordController extends Controller {
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
public function __construct() {
parent::__construct();
$this->middleware('guest');
}
public function showResetForm(Request $request, $token = null) {
$email = session('fpass_email');
$token = session()->has('token') ? session('token') : $token;
if (PasswordReset::where('token', $token)->where('email', $email)->count() != 1) {
$notify[] = ['error', 'Invalid token'];
return to_route('user.password.request')->withNotify($notify);
}
return view($this->activeTemplate . 'user.auth.passwords.reset')->with(
['token' => $token, 'email' => $email, 'pageTitle' => 'Reset Password']
);
}
public function reset(Request $request) {
session()->put('fpass_email', $request->email);
$request->validate($this->rules(), $this->validationErrorMessages());
$reset = PasswordReset::where('token', $request->token)->orderBy('created_at', 'desc')->first();
if (!$reset) {
$notify[] = ['error', 'Invalid verification code'];
return to_route('user.login')->withNotify($notify);
}
$user = User::where('email', $reset->email)->first();
$user->password = Hash::make($request->password);
$user->save();
$userIpInfo = getIpInfo();
$userBrowser = osBrowser();
notify($user, 'PASS_RESET_DONE', [
'operating_system' => @$userBrowser['os_platform'],
'browser' => @$userBrowser['browser'],
'ip' => @$userIpInfo['ip'],
'time' => @$userIpInfo['time']
], ['email']);
$notify[] = ['success', 'Password changed successfully'];
return to_route('user.login')->withNotify($notify);
}
/**
* Get the password reset validation rules.
*
* @return array
*/
protected function rules() {
$passwordValidation = Password::min(6);
$general = gs();
if ($general->secure_password) {
$passwordValidation = $passwordValidation->mixedCase()->numbers()->symbols()->uncompromised();
}
return [
'token' => 'required',
'email' => 'required|email',
'password' => ['required', 'confirmed', $passwordValidation],
];
}
}
expecting the password of the user to be changed
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire