我使用护照进行 api身份验证,并将auth.php api gaurd配置为护照。
我的一些路由API在auth:api组。我发送带有访问令牌的Authorization标头,它可以很好地检查用户。
但问题是,这种机制在Route :: post方法和\ Auth :: user() - > id返回用户id,
但在Route :: resource \ Auth :: user()中返回null。
我仔细检查了一切,似乎Route :: resource忽略了“auth:api”中间件。我还在我的资源控制器的__construct方法中测试了中间件。没有改变。感谢您的进一步帮助。
Route::group(['middleware' => ['auth:api']],function (){
Route::post('update',['uses'=>'C_Update@handle']);
Route::resource('contacts','C_Contacts',['only'=>['index','store','update','destroy']]);
});
答案 0 :(得分:0)
最后我找到了解决方案。问题是因为__construct方法。 Authenticated用户尚未在构造方法中授权(我不知道为什么,如果有人知道请告诉我)。所以不幸的是我把\ Auth :: user放在了我路线的CRUD功能中。