10月8日至10日加入我们在纽约市的聚会,了解有关 GraphQL 联邦和 API 平台工程的最新技巧、趋势和新闻。加入我们于2024年在纽约市举办的 GraphQL 峰会
文档
免费开始

使用探索者进行连接和身份验证

配置探索者以连接到您的 GraphQL 服务器


探索者自动尝试连接到您在设置选项卡中指定的 的 URL。

💡 提示

当您使用探索者与云超级图 结合使用时,端点 URL 总是当前 的 URL。

根据您的 GraphQL 服务器's 设置,您可能需要配置资源管理器连接以处理 CORS 需求或认证。

CORS 策略

资源管理器从您的浏览器直接发送请求到您的 GraphQL 服务器,因此您的端点可以看到来自以下域名: https://studio.apollographql.com

通常是公共端点设置 CORS 策略 以限制哪些域名可以 它们。如果您的端点启用了 CORS 保护,您可能需要在 CORS 策略中添加 https://studio.apollographql.com 以使用资源管理器。

为此,请在服务器的响应中包含以下头部信息

Access-Control-Allow-Origin: https://studio.apollographql.com
# Include this only if your server *also* authenticates via cookies.
Access-Control-Allow-Credentials: true

注意

如果您无法更改您的 CORS 策略,您可能能够为您的端点创建代理,并将资源管理器指向代理。浏览器会强制执行 CORS 策略,代理与您的端点通信时不会有相同的缺点。

认证

资源管理器提供通过 请求头部cookies脚本 认证的功能。

💡 提示

如果您的图具有本选项范围之外的身份验证要求,请向[email protected]提起问题或反馈。

请求头

资源管理器的底部面板包括一个标题栏,您可以在其中设置包含在您的 的HTTP请求中的标题。

标题可以包含由双大括号注入的 环境变量 的值。

例如,键为 Authorization 的标题可以有值为 Bearer {{token}}

Cookie

如果您的服务器使用cookie进行身份验证,您可以将端点配置为与 https://studio.apollographql.com 分享这些cookie。

要设置此功能,您的 cookie的值必须包含SameSite=None; Secure。此外,以下CORS标题必须包含在Studio服务器的响应中:

Access-Control-Allow-Origin: https://studio.apollographql.com
Access-Control-Allow-Credentials: true

一旦配置,从 https://studio.apollographql.com 发送的请求将在您使用资源管理器运行查询时包含您域的cookie。如果您在您的域上登录,从资源管理器发出的请求也会登录。如果从您的域注销并且删除cookie,则从资源管理器发出的请求将被注销。

为Safari用户设置Cookie

Safari 13.1 和之后的版本默认阻止第三方cookie。在Safari中使用资源管理器时,它将您的服务器端点视为 的 "第三方"。因此,Safari用户需要在Safari中打开 “设置 > 隐私” 并取消选择 “阻止跨站跟踪” 以发送带有cookie的资源管理器请求。

环境变量

资源管理器的“设置”标签包括一个用于定义环境变量的部分。在这里,您可以提供敏感信息,然后将其注入标题值、 变量或 脚本 中。这允许您与其他团队成员共享 (包括它们的标题),而不泄露这些敏感数据。

定义

您可以在资源管理器的“设置”选项卡中定义环境变量,如下所示

{
"exampleToken": "tokenValue"
}

如果您与团队成员共享使用环境变量的操作,则这些环境变量的值不会被共享,其他用户可以提供自己的值。

注入

您可以将 Explorer 环境变量注入到以下任何一项

头部值

通过用双大括号包围变量名,将环境变量注入到 HTTP 头部值中。例如,键为 Authorization 的头部可能有值 Bearer {{token}}.

GraphQL 变量

通过用双大括号包围变量名,将环境变量注入到 GraphQL 变量值中,如下所示:

{
"token": "{{token}}"
}
自定义脚本

如果您创建了一个 预检或操作脚本,该脚本可以像这样访问环境变量的值:

const secretToken = explorer.environment.get('token');

查看探索器 脚本文档了解如何使用预审脚本进行身份验证。

上一页
GraphQL 订阅支持
下一页
自定义脚本
评分文章评分在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL。

隐私政策

公司