如何在Shopify / Liquid中为API秘密密钥创建/使用环境变量?

时间:2020-08-17 10:18:28

标签: api environment-variables shopify liquid secret-key

我正在尝试使用ipapi API(https://ipapi.com/documentation)来获取用户的地理位置数据,并且我有一个API密钥,我将需要使用该API密钥来进行API调用以获取JSON结果。

在nodejs中,我们可以使用.env存储秘密密钥并使用process.env.KEY_NAME访问它们。对于服务器(例如Heroku和AWS),我们也可以将API密钥存储为配置变量。

但是对于shopify,我似乎无法找出在哪里存储秘密API密钥。

我已经阅读了一些示例:

How to define global variables in Liquid?(这似乎不正确,因为我想将其存储为机密并从另一个文件访问它。)

https://devcenter.heroku.com/articles/config-vars(仅适用于themekit / slate开发)。

仅创建另一个.liquid文件并将我的所有秘密密钥放在此处,然后从另一个文件调用它是否安全?

如果有人能为我指出正确的方向,将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

您无法在Shopify中隐藏API秘密密钥。相反,如果您想使用秘密服务,则可以在商店中安装自己的自定义App,然后使用App Proxy回调调用您的App。然后,您的应用程序可以使用机密进行密钥API调用,然后将数据返回给应用程序,然后将其作为结果发送到前端。那是安全的。

另一方面,对于像调用地理定位服务这样的琐碎事情,您可能可以选择使用分配给您帐户的公共令牌来调用它们,这不是秘密。因此,您只需使用它,不必担心。