继承 EloquentUserProvider

<?php
 
 
namespace AppProviders;
 
 
use IlluminateAuthEloquentUserProvider;
use IlluminateContractsAuth Authenticatable as UserContract;
 
class ApiEloquentUserProvider extends EloquentUserProvider
{
    public function validateCredentials( UserContract $user, array $credentials)
    {
 
        //这里自己验证规则
        $password = $user-&gt;system_encrypt($credentials['password'],$user['salt']);
        return $password == $user-&gt;getAuthPassword();
    }
}

修改AppProvidersAuthServiceProvider

public function boot()
{
        $this-&gt;registerPolicies();
 
        Auth::provider('api-eloquent', function ( $app, array $config) {
            return new AppProvidersApiEloquentUserProvider( $app[ 'hash'], $config[ 'model']);
        });
}

然后就可以config/auth.php直接使用

driver’ =&gt; ‘api-eloquent’,

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注