如何测试 Hasura 授权?

How do you test out Hasura authorization?

如果我在仪表板中禁用 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 通知...

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

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

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

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