Я пытаюсь получить многоадресную систему, в которой пользователи могут регистрироваться через обычный веб-портал, но отдельная база данных сущностей (например, "роботов" ) также может войти в систему через драйвер маркера защиты 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,
],
],
Второе программное обеспечение вызывается в routes.php
Route::group(['middleware' => 'api'], function () {
Route::get('api/request', 'API\[email protected]');
});
Он использует эту модель:
<?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 не применяются должным образом - можно ли каким-то образом заставить эти параметры вступить в силу?