首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用路虎与图形Use屏蔽

使用路虎与图形Use屏蔽
EN

Stack Overflow用户
提问于 2022-02-03 08:06:12
回答 1查看 161关注 0票数 2

我使用子图上的graphql-shieldrover-cli来生成模式。

我将回退规则设置为拒绝所有内容,因为我不希望默认情况下可以访问任何内容。但是现在rover-cli在内省子图时失败了。我知道您可以将令牌传递给漫游者,但我在构建过程中无法这样做。

我已经看过这个问题了:Apollo Server Federation with graphql-shieldgraphql-shield & rover GitHub存储库,但是到目前为止还没有。

我还试图像这样显式地添加SubgraphIntrospectQuery

代码语言:javascript
复制
export const permissions = shield(
  {
    Query: {
      SubgraphIntrospectQuery: allow,
    },

  },
  {
    fallbackRule: deny,
    debug: true,
    allowExternalErrors: true,
  }
);

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-02 12:46:09

试试这个:

代码语言:javascript
复制
export const permissions = shield({
    Query: {
        _service: allow,
    },
    _Service: {
        sdl: allow
    }
},{
    fallbackRule: deny,
    debug: true,
    allowExternalErrors: true,
});

这似乎是阿波罗在进行内省时所使用的。您可能还需要允许:"Query._entities“、"Query._service”、"_Entity.*“、"_Service.*”、"_Any.*“,因为阿波罗也使用它们。

您可能应该实现某种形式的安全,而不是使用“允许”这些,但我希望这回答您的问题.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70967730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档