我的 Google Apps 帐户中有两个 Google Apps 脚本。两者均已发布为具有以下设置的网络应用程序。
脚本A:
像我一样执行
谁有权访问网络应用程序:XXXXXXX.com 内的任何人
脚本B:
以访问应用程序的用户身份执行
谁有权访问网络应用程序:XXXXXXX.com 内的任何人
我想让脚本 B 使用 UrlFetchApp 来执行脚本 A。如何向脚本 A 验证脚本 B?
Note:
脚本 A 用于从只有我有权访问的电子表格中获取/写入数据。由于我的 Google Apps 域管理员
不允许在域外共享,我无法设置对网络应用程序的匿名访问。
我想让脚本 B 使用 UrlFetchApp 来执行脚本 A。如何向脚本 A 验证脚本 B?
尽管脚本 A 设置为允许任何人访问它,但我们的目标是保护它,以便only脚本 B 将能够发出有效的请求。这可以很容易地使用共享密钥脚本 A 和脚本 B 都可以访问。当脚本 B 向脚本 A 发出请求时,它只需要包含密钥即可。脚本 A 可以拒绝任何不包含密钥的请求。
只有能够查看脚本 A 或脚本 B 的源代码的人才能找到密钥。当然,任何获得密钥的人都可以冒充脚本B。
作为进一步的增强,您可以使用Utilities.computeHmacSha256Signature() https://developers.google.com/apps-script/reference/utilities/utilities#computeHmacSha256Signature(String,String)方法作为避免将密钥作为请求的一部分发送的方法。两个脚本仍然需要知道密钥,但您可以让脚本 B 计算 a签名并将其作为请求的一部分发送,而不是密钥本身。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)