graphql - 如何测试 Hasura 授权?

标签 graphql authorization hasura hasura-jwt

如果我在仪表板中禁用 x-hasura-admin-secret,并添加 Authorization: Bearer a_jwt_encoded_with_a_HASURA_GRAPHQL_JWT_SECRET_and_the_hasura_custom_claims

然后我不断收到这些 toast 通知:

Schema introspection query failed
x-hasura-admin-secret/x-hasura-access-key required, but not found

我错过了什么?如何从 Hasura GraphiQL 浏览器中测试我的权限等?


我的 HASURA_GRAPHQL_JWT_SECRET 可能在错误的位置。我在 Heroku 中设置了它(按照您过去必须这样做的方式)。


我已经更新了要在 Hasura 项目控制台的环境变量中定义的 HASURA_GRAPHQL_JWT_SECRET,并将其更新为

{
    "key": "01234567890123456789012345678912",
    "type": "HS256"
}

但是当我从该配置生成 JWT 并尝试它时,它会抛出相同的 toast 通知...

最佳答案

根据我的经验,测试权限最简单的方法是保留管理员密码,然后只设置相关的 header 。

通常,您只需为 x-hasura-rolex-hasura-user-id 以及与您的应用相关的任何其他 session 变量添加额外的 header 。

在下面的屏幕截图中,您可以看到我已经明确设置了这些值。您运行的任何查询都将根据与角色关联的权限进行评估(在我的例子中是 organization-admin)

如果您希望能够使用 Analyze 功能来执行将权限考虑在内的查询配置文件,这将特别有用。

hasura console

关于graphql - 如何测试 Hasura 授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68742943/

相关文章:

django - Graphite 烯 Django : Change field names

graphql - 响应式(Reactive) GraphQL

reactjs - 使用react-apollo useMutation hook 处理错误

ios - Facebook iOS SDK 使用 UIWebView 而不是 safari 登录( native 技巧/解决方案)

postgresql - 如何在 Hasura 上进行 postgres 数据备份

graphql - 如何在 React-Admin 中配置端点和自定义 graphql 查询

architecture - 我应该有多个 GraphQL 实例还是只有一个?

angularjs - 您如何使用 ui-router 保护/处理经过身份验证的路由?

php - 如何在 Zend Framework 2 中为变量值构建 ACL 断言?

google-kubernetes-engine - GCP CloudSQL、IAM 和 Hasura