简体   繁体   English

Laravel Passport Auth::user 返回所有用户而不是经过身份验证的用户

[英]Laravel Passport Auth::user return all users instead of authenticated user

I have already set up Laravel passport for user authentication.我已经为用户身份验证设置了 Laravel 护照。

I was trying to use a GET API to retrieve the user info.我试图使用 GET API 来检索用户信息。 After the token is authenticated, all users info are returned.令牌通过身份验证后,将返回所有用户信息。 What I expect is only authenticated user info is returned我期望只返回经过身份验证的用户信息

The problem is $user = Auth::user(), Auth::user returned all user info.问题是 $user = Auth::user(), Auth::user 返回了所有用户信息。

Besides, I am using Nginx, not sure if it will cause the problem.此外,我正在使用 Nginx,不确定它是否会导致问题。

Thanks for anyone who can help!感谢任何可以提供帮助的人!

UserController.php用户控制器.php

public function showAll()  {
                $user = Auth::user();
                return response()->json(['data' => $user], 200, [], JSON_NUMERIC_CHECK);
}

routes/api.php路线/api.php

Route::post('social_auth', 'Api\Auth\SocialAuthController@socialAuth');

Route::middleware('auth:api')->group(function () {
        Route::get('user_info', 'Api\UserController@showAll');
});

Try this尝试这个

Auth::guard('api')->user()->id;

public function showAll()  {
                $user = Auth::guard('api')->user()->id;      
                return response()->json(['data' => $user], 200, [], JSON_NUMERIC_CHECK);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM