本教程向您展示如何配置示例应用程序以在网页上呈现经过 Google 验证的嵌入式图表。
Users must sign in with their Google account to view the chart. 如果用户未使用 Google 登录,则 Charts 不会呈现经过身份验证的图表视图。
先决条件
您必须是 Atlas 项目所有者才能为链接的 Charts 实例配置嵌入式身份验证提供程序。
步骤
为图表启用经过身份验证的嵌入
启用经过身份验证的嵌入以生成 Charts 基本 URL 和图表 ID。 您需要 Charts 基本 URL 和图表 ID 才能在网页上显示图表。
将 切换为Enable authenticated access On。
(可选)指定要为每个用户注入的过滤函数。
您可以指定一个函数,为每个查看图表的用户注入 MongoDB 筛选器文档。 这对于呈现特定于用户的Atlas Charts非常有用。
例子
以下筛选器函数仅呈现文档的 ownerId
字段与嵌入式身份验证提供程序的令牌的sub
字段的值匹配的数据:
function getFilter(context) { return { ownerId: context.token.sub }; }
提示
要了解有关为每个用户注入筛选器的更多信息,请参阅注入特定于用户的筛选器。
(可选)指定图表的可筛选字段。
指定图表查看器可以筛选数据的字段。默认情况下,不指定任何字段,这意味着在您明确允许至少一个字段之前,无法筛选图表。
提示
要了解有关可筛选字段的更多信息,请参阅指定可筛选字段。
创建 Google 客户端 ID
创建 Google API 控制台项目以生成 Google 客户端 ID。 您需要 Google 客户端 ID 来配置 Charts 以使用 Google 登录。
要创建 Google API控制台项目,请参阅将 Google 登录集成到您的 Web应用中。
配置 Charts 以使用 Google 登录
创建 Web 应用程序来显示图表
MongoDB 提供了一个预构建的示例应用程序,该应用程序演示了如何使用嵌入式 SDK,通过 Google 身份验证来显示嵌入式图表。
要运行示例应用,请从Github克隆Atlas Charts嵌入示例 - Google 身份验证存储库,然后按照Readme
文件中的说明开始使用该应用。您可以使用示例图表按原样运行应用,也可以对其进行自定义以使用现有图表。
自定义 Node.js 应用
您需要编辑的所有行都标有包含~REPLACE~
的注释。
输入您的 Google 客户端 ID
将现有的 Google 客户端 ID 替换为您的 Google 客户端 ID。
<!-- Optional: ~REPLACE~ content with your Google Client ID --> <meta name="google-signin-client_id" content="012345678910-ifpoccch8js9srh9obfdn683h1iss2ag.apps.googleusercontent.com" />
创建 Google API 控制台项目后,您的 Google 客户端 ID 可见。 有关创建 Google 客户端 ID的说明,请参阅创建 Google 客户端 ID。
输入您的 Charts 基本 URL
将现有的baseUrl
替换为要显示的图表的基本 URL。
const sdk = new ChartsEmbedSDK({ baseUrl: "https://charts-dev.mongodb.com/charts-exampleproject-fjotk", // Optional: ~REPLACE~ with your Charts URL getUserToken: () => id_token });
您的 Charts 基本 URL 将显示在嵌入选项模式窗口中。 有关启用图表嵌入功能的详细说明,请参阅嵌入 SDK 。
输入您的图表 ID
将现有的chartId
替换为要显示的图表的 ID。
const chart = sdk.createChart({ chartId: "example-acaf-4af0-8320-5099bfebd1bd", // Optional: ~REPLACE~ with your Chart ID });
您的图表 ID 显示在“嵌入选项”模式窗口中。 有关启用图表嵌入功能的详细说明,请参阅嵌入 SDK 。
完成应用自定义后,就可以运行了。