我有2个模型Admin
和User
我可以通过引用{{3}修改access_token
和UserRepository
来为这两个模型授予PasswordGrant
}
在授予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();
});
期待急需的帮助
谢谢
答案 0 :(得分:1)
默认情况下,laravel使用网络防护。您可以像
一样使用api guard\Auth::guard('api')->user()
访问用户