Laravel 5.2 Multi-Auth with API guard uses wrong table <p>I'm trying to get a multi-auth system working where Users can log in via the normal web portal, but a separate database of entities (named "robots" for example) can also log in via an API guard token driver. But no matter what I do, the setup I have is not directing my authentication guard to the correct Robot database and keeps trying to authenticate these requests as Users via tokens (which fails, because users don't have tokens). </p> <p>Can someone help me find where I've gone wrong?</p> <p>I've started by putting together a middleware group in Kernel.php:</p> <pre><code>'api' =&gt; [ 'throttle:60,1', 'auth:api', ], </code></pre> <p>This uses settings in config/auth.php</p> <pre><code>'guards' =&gt; [ 'web' =&gt; [ 'driver' =&gt; 'session', 'provider' =&gt; 'users', ], 'api' =&gt; [ 'driver' =&gt; 'token', 'provider' =&gt; 'robots', ], ], 'providers' =&gt; [ 'users' =&gt; [ 'driver' =&gt; 'eloquent', 'model' =&gt; App\User::class, ], 'robots' =&gt; [ 'driver' =&gt; 'eloquent', 'model' =&gt; App\Models\Robot::class, ], ], </code></pre> <p>The middleware gets called in routes.php</p> <pre><code>Route::group(['middleware' =&gt; 'api'], function () { Route::get('api/request', 'API\RequestController@index'); }); </code></pre> <p>It uses this model:</p> <pre><code>&lt;?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', ]; } </code></pre> <p>Any ideas?</p> <p><strong>Update:</strong> on further inspection, it appears that most of the settings in auth.php are not applying properly - is there some way I can force these settings to take effect? </p>