我正在遵循使用嵌入式仪表板进行行级别过滤教程来构建一个安全的多租户仪表板,使用 Data Studio 作为报告 UI/后端(以及Anvil作为 Python 中的前端),目的是过滤来自 BigQuery 的数据基于特定用户权限的表。
我已按照建议成功完成初始连接器教程。到目前为止,我还成功完成了以下步骤(1-4):
- 在 Anvil 中构建用户身份验证并在
user
表中设置权限(JSON 包含每个用户可以查看的特定字段值) - 在 Anvil中创建的构建机制
access_token
,基于用户和 unix 时间戳组合的十六进制 md5 哈希,有效期为一小时 - 在 Anvil 中安全地设置和存储
app_secret
以验证入站请求 - 在 Anvil 中创建 API 端点,该端点验证
app_secret
并验证access_token
并返回包含user_email
和permitted_accounts
现在我要构建自定义连接器了,目的是构建流程的下一部分:
- 根据本节
access_token
,通过编码并将其包含在嵌入 URL 中(报告将通过 iFrame 嵌入)传递到数据洞察 access_token
根据语句“这将用于从嵌入 URL 的参数中捕获令牌”从 App 脚本中的嵌入 URL 中提取。从这个部分app_secret
使用 App Script 中的and访问 API 端点access_token
以验证并接收与access_token
通过 Anvil 的 IF 验证检查相关的用户权限,否则返回适当的错误消息- 根据用户权限构建查询并使用这种方法从 BigQuery 获取数据 ......然后设置架构等......
但是,在到达此流程的第 6 步时,我需要从access_token
URL中解析token
对我来说毫无意义,因为让用户不断手动转置一个短暂的令牌似乎否定了这个练习的意义)。
我也无法在API 参考中找到有关如何实现此目的的文档。
请,有人知道如何从应用脚本社区连接器中的报告嵌入 URL 中捕获参数吗?我认为从文档中是可能的:
getConfig() 应该返回至少一个配置项。这将用于从嵌入 URL 的参数中捕获令牌。
感谢您抽出宝贵时间!