首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel API中的当前用户ID

Laravel API中的当前用户ID
EN

Stack Overflow用户
提问于 2018-05-30 19:05:13
回答 4查看 6.6K关注 0票数 1

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

EN

回答 4

Stack Overflow用户

发布于 2019-04-10 21:00:41

根据@Rahul Reghunath在How to get current user in Laravel API using Passport?中的回答

您可以尝试使用此方法访问api中间件中的用户id:

代码语言:javascript
复制
auth('api')->user();

举个例子:

代码语言:javascript
复制
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:

代码语言:javascript
复制
User is logged in. id:6
票数 3
EN

Stack Overflow用户

发布于 2018-05-30 19:11:05

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

票数 1
EN

Stack Overflow用户

发布于 2018-05-30 19:13:26

如果您正在尝试从定制的身份验证(而不是由laravel提供的默认身份验证)进行验证,那么您所有的身份验证所需的路由都应该使用web中间件。

代码语言:javascript
复制
Route::group(['middleware' => 'web'], function () {
    // your routes
});

然后,您可以使用以下任一方法来获取活动用户id

代码语言:javascript
复制
Auth::user()->id

代码语言:javascript
复制
auth()->user()->id
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50603064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档