2017-04-13 57 views
0

我用API认证护照和我配置auth.php API gaurd到护照
我的一些路由API在auth:api组中。我发送授权标题与访问令牌,它很好地检查用户。
但问题是,这种机制在路线:: post方法和\验证行之有效::用户() - > ID回报用户ID,路线::资源不支持AUTH:API

但在路线::资源\验证::用户()返回null。

我重复了一切,似乎Route ::资源忽略“auth:api”中间件。我也在我的资源控制器的__construct方法中测试了中间件。没有改变。感谢您的进一步帮助。

Route::group(['middleware' => ['auth:api']],function(){ 
    Route::post('update',['uses'=>'[email protected]']); 
    Route::resource('contacts','C_Contacts',['only'=>['index','store','update','destroy']]); 
}); 
+0

'Route :: resource'从字面上看并没有做任何比注册7条路线更有效的手段。 – lagbox

回答

0

最后我找到了解决办法。问题是因为__construct方法。 Authenticated用户尚未被构建方法授权(我不知道为什么,如果有人知道请告诉我)。所以不幸的是我把我的路由的CRUD函数放在\ Auth :: user中。

+0

,因为授权是由中间件处理的。在控制器的构造函数已经运行之前,中间件堆栈还没有运行。它需要获取控制器的一个实例,以便它可以查看构造函数可能注册的中间件。 – lagbox

+0

哦,我不知道那个顺序。谢谢你澄清。 @lagbox – HosSeinM