Laravel:如何在没有中间件的情况下检查用户身份验证的API路由'auth:api'

问题描述

我如何检查当前从控制器访问方法的用户是否已通过身份验证, 有问题的API路由不受任何身份验证中间人的保护,因为该路由可供公共和两个来宾用户访问,所以我检查了我的请求标头(传递了Bearer令牌),正在为我的路由使用React路由器。并且api驱动程序为passport

公共路线

Route::get('product/list','ProductController@index')

尝试过的事情

  1. 将默认的AUTH Guard更改为api

  2. 尝试在控制器方法中明确调用Auth()->guard('api')->check()

    if (Auth()->guard('api')->check()) {
          return 'is_favourite';
    } else {
          return 'unauthenticated';
    }
  1. 也这样称呼它Auth()->check()
    if (Auth()->check()) {
          return 'is_favourite';
    } else {
          return 'unauthenticated';
    }

结果

总是'unauthenticated'

预期结果:is_favourite的结果,当在头中传递了承载令牌时,如果没有提供承载令牌,则为“未经身份验证”。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)