Как создать собственного провайдера на основе UserProvider и правильно его зарегистрировать - PullRequest
0 голосов
/ 07 мая 2019

Как создать собственного провайдера на основе UserProvider и правильно его зарегистрировать.Я хочу создать собственный способ сравнения паролей.У меня есть следующее:

StaffServiceProvider

<?php

namespace App\Providers;

use Illuminate\Auth\EloquentUserProvider as UserProvider;
use Illuminate\Contracts\Auth\Authenticatable as UserContract;


class StaffServiceProvider extends UserProvider {

    public function validateCredentials(UserContract $user, array $credentials)
    {
        $plain = $credentials['password'];
        if (sha1($plain) == $user->getAuthPassword()) {
            return true;
        } else {
            return false;
        }
    }

}

config / app.php

    'providers' => [
      ...

//      CUSTOM
        App\Providers\StaffServiceProvider::class,

, и я получаю эту ошибку.Как мне это исправить

Argument 1 passed to Illuminate\Auth\EloquentUserProvider::__construct() must be an instance of Illuminate\Contracts\Hashing\Hasher, instance of Illuminate\Foundation\Application given, called in C:\xampp\htdocs\zeemed\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php on line 208
...