如何测试 Hasura 授权?

cor*_*ons 2 authorization graphql 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
Run Code Online (Sandbox Code Playgroud)

我缺少什么?如何在 Hasura GraphiQL 浏览器中测试我的权限等?


我的HASURA_GRAPHQL_JWT_SECRET可能是在错误的地方。我在 Heroku 中设置了它(按照你以前必须做的方式)。


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

{
    "key": "01234567890123456789012345678912",
    "type": "HS256"
}
Run Code Online (Sandbox Code Playgroud)

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

Jes*_*ter 6

根据我的经验,测试权限的最简单方法是将管理密码保留在适当的位置,然后仅设置相关标头。

x-hasura-role通常,您只需为和x-hasura-user-id以及与您的应用程序相关的任何其他会话变量添加额外的标头。

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

如果您希望能够使用该Analyze功能来执行考虑权限的查询配置文件,这尤其有用。

哈苏拉控制台