Laravel API 返回不同模型的用户
Laravel API returning different model user
我有 2 个模型 Admin
和 User
我可以通过参考 [=] 修改 UserRepository
和 PasswordGrant
为两个模型授予 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()
访问用户
我有 2 个模型 Admin
和 User
我可以通过参考 [=] 修改 UserRepository
和 PasswordGrant
为两个模型授予 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()
访问用户