基于GraphQL方案的权限

问题描述 投票:0回答:2

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

我希望它能够将权限检查作为中间件步骤放置,也就是在它到达相应的解析程序之前。这将具有几个优点,例如:-授权逻辑是集中的,所有解析程序都可以重用-解析器逻辑更加简洁明了

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

node.js graphql apollo
2个回答
0
投票

您可以使用schema-directives,这对于graphql更自然

这里是一个可以帮助您的软件包 graphql-directive-auth


0
投票

GraphQL.js本身不支持解析器的“中间件”-由于它们是函数,因此您可以将它们与任何其他函数包装在一起以添加逻辑,而无需重复自己。也就是说,您可以为更好的API添加graphql-middleware,以向多个解析器添加逻辑。如果使用graphql-middleware,则可以添加专门处理授权的graphql-shield

© www.soinside.com 2019 - 2024. All rights reserved.