在api:auth中间件检查令牌验证之前检查控制器构造函数上的Auth :: guard('api')-> user

时间:2019-09-02 07:18:38

标签: api laravel-5.8 laravel-passport

我有带有laravel的api,并通过了护照进行身份验证,我的路线/api.php

Route::prefix('v1')->middleware('auth:api', 'scope:admin,customer')->group(function () {
    // Project Route

和我的PeopleController构造函数检查用户ID如下:

    public function __construct()
    {
        $this->userId = Auth::guard('api')->user()->id;
  }

但是,当Bearer令牌无效时,我会报错

“消息”:“试图获取非对象的属性'id'”

而不是“ message”:“未经身份验证”。

当删除$ this-> userId = Auth :: guard('api')-> user()-> id时也是如此;从构造函数返回正确的消息。

怎么了...?

0 个答案:

没有答案