Graphql 如何在hasura中访问公共api

Graphql 如何在hasura中访问公共api,graphql,hasura,Graphql,Hasura,我正在运行一个docker容器,其中包含admin secret。在下图中,您可以看到权限窗口下的角色。 对于category表,我为SELECT选项设置了public角色,该角色访问任何查询都没有限制 但我的问题是,我无法使用public角色,hasura引擎askadmin secret访问查询。请参见下图。 如何在不提供管理员凭据的情况下访问此API? 相关文件: 如果您使用的是基于webhook的身份验证,“对于未经身份验证的访问,您可以使用定义的未经身份验证的角色返回200状态响应

我正在运行一个docker容器,其中包含
admin secret
。在下图中,您可以看到权限窗口下的角色。

对于
category
表,我为
SELECT
选项设置了
public
角色,该角色访问任何查询都没有限制

但我的问题是,我无法使用
public
角色,hasura引擎ask
admin secret
访问查询。请参见下图。 如何在不提供管理员凭据的情况下访问此API? 相关文件:

如果您使用的是基于webhook的身份验证,“对于未经身份验证的访问,您可以使用定义的未经身份验证的角色返回
200
状态响应,例如:
{“x-hasura-role”:“}

如果您使用的是基于jwt的身份验证,“您可以使用env变量
HASURA\u GRAPHQL\u UNAUTHORIZED\u ROLE
--UNAUTHORIZED ROLE
标志为未经身份验证(未登录)的用户设置角色。”

未经验证的角色可以称为任何角色,在您的情况下,它将是“公共”的相关文档:

如果您使用的是基于webhook的身份验证,“对于未经身份验证的访问,您可以使用定义的未经身份验证的角色返回
200
状态响应,例如:
{“x-hasura-role”:“}

如果您使用的是基于jwt的身份验证,“您可以使用env变量
HASURA\u GRAPHQL\u UNAUTHORIZED\u ROLE
--UNAUTHORIZED ROLE
标志为未经身份验证(未登录)的用户设置角色。”


未经验证的角色可以被称为任何名称,在您的情况下,它将是“public”

您是否在启动命令中将
HASURA\u GRAPHQL\u UNAUTHORIZED\u role
设置为“public”或使用了--UNAUTHORIZED role=public标志?@avimondra我在启动期间没有设置这可能是问题所在!看起来您正在JWT模式下运行,并且没有通过“Authorization:Bearer”标题。您是否已将
HASURA\u GRAPHQL\u UNAUTHORIZED\u ROLE
设置为“public”或在启动命令中使用--UNAUTHORIZED ROLE=public标志?@avimondra我在启动期间没有设置这可能是问题所在!看起来您正在JWT模式下运行,尚未通过“Authorization:Bearer”标题。