如何在laravel中更改api身份验证模型而不是使用默认用户模型

如何在laravel中更改api身份验证模型而不是使用默认用户模型,laravel,api,Laravel,Api,我有两个模型,客户机和用户。对于web登录,我使用用户模型作为超级管理员。但我希望客户端模型用于通过api请求的移动登录 api.php Route::group(['middleware' => 'auth:api'], function() { Route::resource('communities', 'communityAPIController'); Route::resource('communities', 'communityAPIController')

我有两个模型,客户机和用户。对于web登录,我使用用户模型作为超级管理员。但我希望客户端模型用于通过api请求的移动登录

api.php

Route::group(['middleware' => 'auth:api'], function() {
    Route::resource('communities', 'communityAPIController');
    Route::resource('communities', 'communityAPIController');
    Route::resource('clients', 'ClientAPIController');
});
Config/auth.php

'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'clients',
            'hash' => false,
        ],
    ],
'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],

         'clients' => [
             'driver' => 'eloquent',
             'model' => \App\Models\Client::class,
         ],
    ],

我有这样的客户模型

<?php

namespace App\Models;

use Eloquent as Model;

class Client extends Model
{

    public $table = 'clients';



    public $fillable = [
        'name',
        'phone',
        'house_no',
        'type',
        'is_approved',
        'community_id'
    ];

    /**
     * The attributes that should be casted to native types.
     *
     * @var array
     */
    protected $casts = [
        'id' => 'integer',
        'name' => 'string',
        'phone' => 'string',
        'house_no' => 'string',
        'type' => 'integer',
        'is_approved' => 'boolean',
        'community_id' => 'integer'
    ];



}

试试这个



'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'clients',

        ],
    ],
'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],

         'clients' => [
             'driver' => 'eloquent',
             'model' => App\Models\Client::class,
             'table'=>'clients'
         ],
    ],
试试这个



'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'clients',

        ],
    ],
'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],

         'clients' => [
             'driver' => 'eloquent',
             'model' => App\Models\Client::class,
             'table'=>'clients'
         ],
    ],

删除\n在'clients'=>['driver'=>'eloquent','model'=>App\Models\Client::class',table'=>'clients']中,身份验证可以工作,但是如何获得经过身份验证的客户机模型@albus_severusremove\n在'clients'=>['driver'=>'eloquent','model'=>App\Models\Client::class',table'=>'clients']中,身份验证有效,但如何获得经过身份验证的客户端模型@请显示您的
App\Models\Client
逻辑。请显示您的
App\Models\Client
逻辑。如果(Auth::guard($guard)->check()){if('api-clients'===$guard){}返回$next($request);}我应该把它放在哪里我应该在api.php中间件部分使用什么如果(Auth::guard($guard)->check(){if('api-clients'==$guard){}返回$next($request);}我应该把它放在哪里