1

我的目标是创建一个表格(Google表格),以可读的方式呈现Firebase DB中的一些数据。使用这真棒教程从Apps脚本读取和写入Firebase数据 - 以安全的方式

目标实现: https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/firebase/tutorials/read-and-write-data-in-firebase-from-apps-script

的事情是,这片存在安全/隐私的危险 - 因为“DB的秘密”中的脚本所示。因此,我无法分享此表单/脚本。

有没有一种方法可以在不编写网络应用程序的情况下以安全的方式使用Google Apps脚本(使用Google表格)? 也许通过添加某种“登录”机制? 或限制访问某些用户(通过他们的电子邮件标识)?

+0

更新了我的回答,以回应Frank van Puffelen的评论。 –

回答

1

你可以移动敏感代码到一个独立脚本和部署它作为一个̶[图书馆]̶[1],然后就可以参考库中你容器结合的脚本和你唯一” LL暴露是函数签名,而不是其中的代码保持̶“DB秘密”̶安全。

甚至可以添加额外的安全性,并创建一个白名单用户,̶和GATE的代码库中的,使得访问只授予这些上的列表中,因为̶y̶o̶u̶'̶l̶l̶能够检测当前用户经由̶̶S̶e̶s̶s̶i̶o̶n̶.̶g̶e̶t̶A̶c̶t̶i̶v̶e̶U̶s̶e̶r̶(̶)̶.̶g̶e̶t̶E̶m̶a̶i̶l̶(̶)̶̶。

更新1

验证@Frank面包车Puffelen评论,他是正确的,一个库中的代码可以通过直接链接到独立脚本被暴露。为了使用户能够使用库,他们需要以最小的仅查看访问权限,这使得他们可以使用直接链接到独立脚本来查看代码。

但是,这是一个可行的解决方案,您可以将您的脚本部署为add-on,这将确保您的代码保持私密。您的用户必须安装插件才能使用您的脚本,但他们无法访问代码。


更新2

相信库可能仍然是可行的为您的使用情况,但你不得不去的迂回的排序方式使用它们。

因此,这里是你怎么可能去了解它:

  • 创建,不是一个,而是库。

  • 公开分享这些库中的一个,以便用户可以访问它们。让我们叫这个库LIB_A

  • 存储在第二库中的任何敏感的数据和功能;我们称之为LIB_B

  • LIB_A参考LIB_B。由于LIB_ALIB_B都属于同一个帐户,LIB_A可以访问LIB_B的内容。但是,LIB_B的内容将不会公开给您的用户(只要它不共享) 。

注意,这种方法也不是没有其缺点,你的应用需要,只要您使用库,以便您使用更慢的你的执行时间越库性能的下降。所以如果你有时间关键的代码,这可能不是最好的方法。

+0

是不是总是可以通过[这里]显示的方法来查看库的代码(https://stackoverflow.com/questions/31993969/how-can-i-view-the-source-of-a-google -apps脚本库)? –

+0

@FrankvanPuffelen没有考虑到这一点。更新我的答案,建议使用附加组件。 –

+0

感谢您的原创想法(在附加组件上使用库)。 对这个所有“秘密”方法仍然不满意。 我不知道是否有一种方法来验证用户使用特定的工作表,运行特定的脚本 - 这样就不需要使用这个秘密机制... 如果不是,我猜不会有任何选项,但写入访问FireBase的Web应用程序... – user6097845

相关问题