Joh*_*ree 1 shopify access-token shopify-app
当商店所有者安装我的应用程序时,我将访问令牌保存到数据库中以备后用。拥有来自商店的访问令牌是一项巨大的安全责任,因为拥有这些令牌的任何人都可以从任何域/地址修改商店,没有 IP 或域锁定。
我可以使用什么方法来使这更安全?我想离线保存令牌,然后仅在需要时上传(以防我需要对所有商店进行一些全局更新),然后再次删除它。如果商家在管理员中访问应用程序配置,我会将其保存到会话中。有没有更好的方法?
好问题。
我也将它们保存在数据库中,但我使用与 Shopify 应用程序密码不同的密钥对它们进行编码。这样,即使有人因为某些后门入口而可以访问数据库,他也将无法使用它们。也就是说,如果有人可以访问代码,他将能够弄清楚如何解密它,因为他可以访问密钥。
也就是说,在我显示来自服务器的任何响应之前,我确保每个请求都经过身份验证。由于我使用 NodeJS 作为后端,因此我确保没有可以从不同商店访问或修改的全局变量。一切都在单独的函数中整齐地限定了范围,以便会话限定在当前存储的范围内,并且没有其他存储会话能够弄脏另一个存储会话。
此外,我确保在客户端卸载他的应用程序时会触发一个 webhook,以便从我的数据库中清除任何重新评级他的商店的信息。
我知道有些人正在为此使用会话(在线方法),但他们提出了我不喜欢的其他问题,所以我坚持使用数据库(离线),因为这是访问应用程序而不是多次重定向的更快方法保存会话。
至于建议,我可以给你一些我在构建一些基本应用程序的过程中学到的技巧。(无论如何,我不是该主题的专家)
var
如果站点支持 IE11,则创建变量是可以的,如果站点支持 IE11,则创建变量使用const
或let
不正常,或者使用 vanilla JS 是可以的,但是在jQuery
不知道站点是否全局安装了变量的情况下使用是不行的。可以在此处查看有关此问题的更多见解:
https://help.shopify.com/en/api/getting-started/authentication/oauth/api-access-modes https://community.shopify.com/c/Shopify-APIs-SDKs/Best-way-to -store-shops-that-have-installed-my-app-and-their/mp/402972
归档时间: |
|
查看次数: |
1884 次 |
最近记录: |