MongoDB工具 >MongoDB图表 >图表嵌入 >使用Embedding SDK嵌入图表 >嵌入教程 > 嵌入已通过领域验证的图表
注意
就本教程而言,名称Realm
和Stitch
可以互换使用。他们都将MongoDB平台称为服务。
MongoDB Realm是一个无服务器平台,使开发人员无需建立服务器基础结构即可快速构建应用程序。Realm提供了多种身份验证选项,包括Google OAuth,Facebook Login和电子邮件/密码。您可以使用Realm应用程序中的身份验证机制来控制嵌入式图表的数据访问。
本教程向您展示如何:
注意
本教程不涉及使用身份验证创建Realm应用。有关应用程序创建教程,请参见Realm文档。
启用经过身份验证的嵌入以生成图表ID和“图表基本URL”。您需要图表ID和图表基本URL才能在网页上显示图表。
从仪表板页面中,选择包含要嵌入的图表的仪表板。
在仪表板上,单击 图表右上方的嵌入图表。
以访问其嵌入信息。从下拉菜单中选择如果已经在此图表使用的数据源上启用了外部共享,请跳过此步骤。如果尚未启用在数据源上嵌入,则可以立即启用。单击 配置外部共享链接。
您可以指定一个函数,为查看图表的每个用户注入MongoDB筛选器文档。该功能可以通过访问您的嵌入身份验证提供程序的令牌context.token
,并且可以基于该令牌过滤图表数据。
此过滤器确保嵌入式图表的查看者仅看到自己的数据,这在将图表与潜在敏感信息一起嵌入时非常有用。
例
以下过滤器功能仅在ownerId
文档的字段与嵌入身份验证提供程序的令牌的sub
字段的值匹配的情况下呈现数据
:
在应用程序代码中将这些值与“嵌入式身份验证提供程序”属性一起使用以嵌入图表。
在您的Realm应用程序中输入服务的名称,该服务将从MongoDB中获取数据。查找数据服务的名称:
如果您已经有一个可在其中显示图表的应用程序,则可以添加一个嵌入式图表了。如果不是,请继续其余步骤以创建一个新应用。
MongoDB提供了一个预先构建的示例应用程序,该应用程序显示了如何使用Embedding SDK通过Realm身份验证显示嵌入式图表。
克隆GitHub存储库,并按照Readme
文件中的说明开始使用该应用程序。您可以按原样运行该应用程序,也可以对其进行自定义以使用之前创建的图表。
注意
该示例应用程序假设您的Realm应用程序使用电子邮件/密码身份验证。如果您的Realm应用程序使用其他身份验证机制,则示例应用程序将需要其他自定义。
index.js
在文本编辑器中打开文件。¶该文件index.js
位于src
目录中。
用您的Realm应用程序ID替换现有的Realm应用程序ID,您可以在Realm应用程序UI的左侧找到该ID。
用要显示的图表的基本URL替换现有的“图表基本URL”。您的“图表基本URL”在嵌入选项模式窗口中可见。有关为图表启用嵌入的详细说明,请参见 使用Embedding SDK嵌入图表。
注意getRealmUserToken()
上面的代码片段中的函数,该函数从现有的Realm身份验证会话返回JWT。
getRealmUserToken()
必须从Embedding SDK导入,如import
示例应用程序第2行中的语句所示:
您还可以在HTML页面中包含带有嵌入式Javascript的Embedding SDK,如以下代码片段所示:
要getRealmUserToken()
在这种情况下使用该功能,请从SDK导入它:
将现有的图表ID替换为要显示的图表的ID。您的图表ID在“嵌入选项”模式窗口中可见。有关为图表启用嵌入的详细说明,请参见 使用Embedding SDK嵌入图表。