如何检查从控制器访问方法的当前用户是否经过身份验证,有问题的API路由不受任何身份验证中间保护,因为该路由对公众和两个访客用户都是可访问的,我检查了我的请求头,Bearer令牌正在被传递,我正在为我的路由使用react路由器。api驱动程序为passport
公共路线:
Route::get('product/list', 'ProductController@index')
尝试了什么:
-
将默认的AUTH防护更改为
api
。 -
尝试显式调用控制器方法中的
Auth()->guard('api')->check()
。
if (Auth()->guard('api')->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}
- 也这样称它为
Auth()->check()
if (Auth()->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}
结果:
始终'unauthenticated'
预期结果:当在标头中传递承载令牌时,is_favourite
的结果;如果未提供承载令牌,则为"未验证"。
我终于让它工作了,试过了,它工作了:
if (auth('api')->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}