【问题标题】:How do authorization with GraphQL and Laravel?GraphQL 和 Laravel 如何进行授权?
【发布时间】:2017-11-22 18:05:25
【问题描述】:

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

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

请告诉我,如何做到这一点?将 GraphQL 集成到 Laravel 框架中是否有更好的实践?

【问题讨论】:

标签: laravel authorization graphql


【解决方案1】:

如果您打算使用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{users{name}}

可以通过如下路径访问受保护的数据: http://your.domain/graphql/secret?query=query+FetchUsers{users{id,email,name}}

【讨论】:

    猜你喜欢
    • 2022-01-24
    • 2021-06-09
    • 1970-01-01
    • 2022-01-16
    • 2021-09-08
    • 1970-01-01
    • 2017-09-28
    • 2020-04-14
    • 2017-06-10
    相关资源
    最近更新 更多