【发布时间】:2019-09-25 17:05:37
【问题描述】:
我有一个控制器,它带有从 Vue 组件调用的 store() 方法。它工作正常,因为我可以成功地将数据从 Vue 组件传递到我的控制器。但是,我正在尝试获取经过身份验证的用户的身份,并且由于某种原因,我无法在控制器方法中执行此操作。我目前正在做的是检查是否有经过身份验证的用户(应该有,设置了身份验证,当我在刀片模板auth()->check() 中检查前端时返回 true)。
控制器
public function store(Request $request)
{
$player = Player::create([
'first_name' => $request['first_name'],
'last_name' => $request['last_name'],
'dob' => $request['dob'],
]);
If (auth()->check()) {
Mail::to(auth()->user())->send(new PlayerCreated($player));
}
}
我还导入了Illuminate\Support\Facades\Auth,,所以这不是不使用Auth 外观的问题。但是,由于某种原因,它不起作用。
我想知道这是否与作为 API 路由有关?我似乎无法弄清楚为什么我仍然无法访问控制器中经过身份验证的用户。关于为什么会发生这种情况以及如何解决的任何想法?
【问题讨论】:
-
您是使用默认的身份验证配置,还是使用不同命名的配置?
-
在你的
config/auth.php检查你的 api 守卫。 -
到底是什么问题?
check()返回false,而您仍然应该登录?您是否使用 api 端点?您是否在请求中发送凭据(cookie/令牌)? -
你使用的是哪个 laravel 版本?
-
@AdityaThakur Ahhh 我想我可能会看到问题。 API驱动设置为token。
标签: php laravel laravel-authorization laravel-facade