您可以将保护传递给您的方法,以判断用户是否使用特定的保护登录.
$request->user('api');
EDIT
我只想扩展我最初的答案.
使用$request->user()
与使用\Auth::user()
完全相同.
当您检索经过身份验证的用户时,Laravel将默认配置文件auth.defaults.guard
中的guard(新安装中为web
).
所以当你拨打$request->user()
时,实际上是$request->user('web')
.
当您使用auth:api
时,Laravel将使用api
guard作为默认值.
这就是为什么它在使用auth:api
时有效,但在使用默认保护时无效.
为了解决您的问题,如果有Illuminate\Http\Request
实例,您可以拨打$request->user('api')
,或者直接使用Auth
facade拨打\Auth::guard('api')->user()
.