如果我在仪表板中禁用 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-role
和 x-hasura-user-id
以及与您的应用相关的任何其他 session 变量添加额外的 header 。
在下面的屏幕截图中,您可以看到我已经明确设置了这些值。您运行的任何查询都将根据与角色关联的权限进行评估(在我的例子中是 organization-admin
)
如果您希望能够使用 Analyze
功能来执行将权限考虑在内的查询配置文件,这将特别有用。
关于graphql - 如何测试 Hasura 授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68742943/