如何使用GraphQL和Laravel进行授权?

时间:2017-06-20 09:21:25

标签: laravel authorization graphql

我正在考虑在我的项目中应用GraphQL的可能性,该项目基于Laravel 5.4。现在我使用REST API,我没有授权问题(I use Fractal):我根据其角色和权限将数据集返回给用户,这对应于应用程序的业务逻辑。

现在我想使用GraphQL,但我不了解嵌入业务逻辑和授权的机制,这样我就可以返回一组数据,具体取决于请求数据的用户的权限。

请告诉我,这怎么办?有没有更好的实践将GraphQL集成到Laravel框架中?

1 个答案:

答案 0 :(得分:0)

如果您打算使用this套餐,可以轻松完成。

例如,定义多个这样的方案: https://github.com/Folkloreatelier/laravel-graphql#schemas

然后在你的routes / web.php文件中定义

Route::get('/graphql/secret', ['middleware' => ['api:auth']], function () {

});

可以在以下路线上访问公共数据: http://your.domain/graphql?query=query+FetchUsers {{用户名称}}

可以在以下路由上访问受保护的数据: http://your.domain/graphql/secret?query=query+FetchUsers {用户{ID,电子邮件,名称}}