Почему Ha sh :: check всегда возвращает false? - PullRequest
0 голосов
/ 27 января 2020

Я полагаю, что в моем первом контроллере я использую самый простой c способ создания пароля пользователя

EmployeeController

public function store(Request $request){
        $user = User::create(array(
                'username'  =>  $request->username,
                'password'  =>  Hash::make($tempPassword = Str::random(8)))
        );
        $employee->user()->associate($user);
        $employee->save();
}

Шен прибывает к проверке пароля с помощью Hash::check() во втором контроллере всегда происходит сбой

ResetPasswordController

public function index(ResetPasswordRequest $request){
        $request->validated();

        $emp = Student::find($request->id);
        if ($emp->user->checkCredentials($request->password)) { //always false

        }
}

Однако, если обновить пароль в том же контроллере (только для тестирования ) это работает просто отлично

ResetPasswordController

public function index(ResetPasswordRequest $request){
        $request->validated();

        $emp = Student::find($request->id);
        $emp->user->update(['password' =>  Hash::make('abc')]);
        if ($emp->user->checkCredentials('abc')) { //...true

        }
    }

Пользователь

public function checkCredentials($password){
        return (Hash::check($password, $this->password)) ? true : false;
    }

Я не меняю приложение ключ между созданием и проверкой пользовательских паролей. Есть идеи, где еще мне искать?

...