Итак, продолжая мои комментарии выше - вот что я попробовал и работает без сбоев:
config / auth. php
'guards' => [
//..
'agent' => [
'driver' => 'session',
'provider' => 'users',
],
//...
],
app / Http / Controllers / HomeController. php
public function index(): JsonResponse
{
return new JsonResponse([
'user' => auth()->guard('agent')->user(),
]);
}
маршруты / веб. php
Route::get('/', 'HomeController@index')->name('home');
тесты /Feature/HomeTest.php
/**
* @test
*/
public function returns_user()
{
$this->actingAs($user = factory(User::class)->create(), 'agent');
$this->assertTrue($user->exists);
$this->assertAuthenticatedAs($user, 'agent');
$response = $this->get(route('home'));
$response->assertExactJson([
'user_id' => $user->toArray()
]);
}
/**
* @test
*/
public function does_not_return_user_for_non_agent_guard()
{
$this->actingAs($user = factory(User::class)->create(), 'web');
$this->assertTrue($user->exists);
$this->assertAuthenticatedAs($user, 'web');
$response = $this->get(route('home'));
$response->assertExactJson([
'user_id' => null
]);
}
И тест проходит нормально, поэтому я могу только догадываться, что есть что-то с вашей реализацией agent
guard или auth:agent
middleware .