Laravel API 返回不同模型的用户

Laravel API returning different model user

我有 2 个模型 AdminUser 我可以通过参考 [=] 修改 UserRepositoryPasswordGrant 为两个模型授予 access_token 28=]

授予 access_token 一切都很好,但是当请求用户详细信息时 http://localhost:8000/api/user 我正在获取 User 型号的用户详细信息。

{
    "id": 2,
    "name": "App User",
    "email": "appuser@gmail.com",
    "created_at": "2017-07-04 10:01:52",
    "updated_at": "2017-07-04 10:01:52"
}

//but i should be getting the user details of `admin` model
{
    "id": 1,
    "name": "Admin",
    "email": "admin@gmail.com",
    "created_at": "2017-07-04 10:01:52",
    "updated_at": "2017-07-04 10:01:52"
}

我想当请求 user 时指的是 User 模型而不是 Admin 模型

我的auth.php

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

    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],

    'admin' => [
        'driver' => 'passport',
        'provider' => 'admins',
    ],
],


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

    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Admin::class,
    ],
],

我只是在我的 routes/api.php 路由中返回用户

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user(); 
});

期待急需的帮助

谢谢

默认情况下laravel使用网络防护。你可以像

这样使用 api 守卫
\Auth::guard('api')->user()

访问用户