我正在尝试获得一个多用户认证系统,用户可以通过普通的门户网站进行登录,但单独的实体数据库(例如名为“机器人”)也可以通过API保护令牌驱动程序登录.但是无论我做什么,我的设置都不是将我的身份验证保护人员指向正确的Robot数据库,并且不断尝试通过令牌验证用户(由于用户没有令牌而失败).
有人可以帮我找到哪里出错了吗?
我已经开始在Kernel.PHP中组建一个中间件组:
'api' => [ 'throttle:60,1','auth:api',],
这使用config / auth.PHP中的设置
'guards' => [ 'web' => [ 'driver' => 'session','provider' => 'users','api' => [ 'driver' => 'token','provider' => 'robots','providers' => [ 'users' => [ 'driver' => 'eloquent','model' => App\User::class,'robots' => [ 'driver' => 'eloquent','model' => App\Models\Robot::class,
Route::group(['middleware' => 'api'],function () { Route::get('api/request','API\RequestController@index'); });
它使用这个模型:
<?PHP namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Contracts\Auth\Authenticatable; class Robots extends Authenticatable { protected $fillable = [ 'serial_number','api_token',]; protected $guard = 'Robots'; protected $hidden = [ 'api_token',]; }
有任何想法吗?
更新:进一步检查,似乎auth.PHP中的大多数设置都不能正确应用 – 有没有办法强制这些设置生效?