我有控制器方法存储,并为该方法定义了api路由。当我尝试存储来自$request的信息时,一切正常,但是当前用户ID。Auth:: user ()返回null。如何获取id?
发布于 2019-04-10 21:00:41
根据@Rahul Reghunath在How to get current user in Laravel API using Passport?中的回答
您可以尝试使用此方法访问api中间件中的用户id:
auth('api')->user();举个例子:
Route::get("me",function (){
$userInfo=auth('api')->user();
if ($userInfo!==null)
{
return "User is logged in. id:".$userInfo->id;
}else{
return "User is not logged in.";
}
});对我来说,它在使用持有者令牌进行身份验证时显示了id:
User is logged in. id:6发布于 2018-05-30 19:11:05
首先,您需要确保已登录接口用户获取ID,您可以使用auth()->user()->id或Auth::user()->id获取当前用户id。
发布于 2018-05-30 19:13:26
如果您正在尝试从定制的身份验证(而不是由laravel提供的默认身份验证)进行验证,那么您所有的身份验证所需的路由都应该使用web中间件。
Route::group(['middleware' => 'web'], function () {
// your routes
});然后,您可以使用以下任一方法来获取活动用户id
Auth::user()->id或
auth()->user()->idhttps://stackoverflow.com/questions/50603064
复制相似问题