基于 GraphQL 架构的权限

GraphQL scheme based permissions

我正在 Node 中构建一个 GraphQL 服务器并处理权限主题。我进行了研究,大部分建议是将此逻辑放在解析器中的某个位置。

我更希望它能够将权限检查作为一个中间件步骤,也就是说,在它到达相应的解析器之前。这将有几个优点,例如: - 授权逻辑被所有解析器集中和重用 - 解析器逻辑更清晰直接

对这种方法有什么看法? 支持基于 GraphQL 方案的权限验证的任何现有库

你可以使用 schema-directives 这对 graphql 来说更自然

这是一个可能对你有帮助的包 graphql-directive-auth

GraphQL.js 本身不支持 "middleware" 解析器——因为它们是函数,您可以用任何附加函数包装它们以添加逻辑,而无需重复自己。也就是说,您可以添加专门处理授权的 graphql-middleware for a nicer API for adding logic to multiple resolvers. If you use graphql-middleware, you can add graphql-shield