Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当前用户';Laravel API中的s ID_Php_Laravel_Api - Fatal编程技术网

Php 当前用户';Laravel API中的s ID

Php 当前用户';Laravel API中的s ID,php,laravel,api,Php,Laravel,Api,我有控制器方法存储,并为该方法定义了api路由。当我尝试从$request存储信息时,一切正常,但当前用户ID.Auth::user()返回null。如何获取该id?首先,您需要确保“api用户”已登录以获取id。您可以使用auth()->user()->id或auth::user()->id获取当前用户id。首先,您需要确保“api用户”已登录以获取id。您可以使用auth()->user()->id或Auth::user()->id以获取当前用户id。如果您是从定制的Auth(不是larav

我有控制器方法存储,并为该方法定义了api路由。当我尝试从$request存储信息时,一切正常,但当前用户ID.Auth::user()返回null。如何获取该id?

首先,您需要确保“api用户”已登录以获取id。您可以使用auth()->user()->idauth::user()->id获取当前用户id。

首先,您需要确保“api用户”已登录以获取id。您可以使用auth()->user()->idAuth::user()->id以获取当前用户id。

如果您是从定制的Auth(不是laravel提供的默认Auth)尝试此操作,则所有需要进行Auth的路由都应该使用
web
中间件

Route::group(['middleware' => 'web'], function () {
    // your routes
});
然后,您可以使用以下任一方法获取活动用户id:

Auth::user()->id


如果您是从定制的身份验证(不是laravel提供的默认身份验证)尝试此操作,那么所有需要身份验证的路由都应该使用
web
中间件

Route::group(['middleware' => 'web'], function () {
    // your routes
});
然后,您可以使用以下任一方法获取活动用户id:

Auth::user()->id


根据@Rahul Reghunath的回答

您可以尝试使用此方法访问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

根据@Rahul Reghunath的回答

您可以尝试使用此方法访问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

默认情况下,Laravel使用Laravel助手或Laravel静态方法提供当前用户。例如: 默认值=>

\Auth::user();
如果你为此使用了任何防护装置,那么就使用

\Auth::guard('guard_name')->user();
如果您使用了api,那么您可以通过

auth('api')->user()//它是一个laravel助手

这一个用于api路由,上面两个用于web路由

Laravel默认情况下使用Laravel助手或Laravel静态方法提供当前用户。例如: 默认值=>

\Auth::user();
如果你为此使用了任何防护装置,那么就使用

\Auth::guard('guard_name')->user();
如果您使用了api,那么您可以通过

auth('api')->user()//它是一个laravel助手

这一个用于api路由,上面两个用于web路由

可能重复的可能重复的我正在尝试访问auth:api middleware中的当前用户我正在尝试访问auth:api中间件中的当前用户