0

我目前正在构建一个通过 Plaid 使用 Open Banking 的应用程序。这是一个 React 前端应用程序,具有支持“后端”的无服务器功能。

目前,在每次页面加载时,都会通过 Plaid API 传输用户的访问令牌并提取银行数据。用户数据不会以任何方式持久化,并且会在用户离开页面时丢失。

不幸的是,这是一个相当大的性能消耗 - 这意味着每次用户在网站上导航时,每次页面加载都必须调用 API,即使数据刚刚加载,所以它会导致每次加载 3/4 秒页。非常慢。

我注意到其他持有此类数据的“银行”应用程序似乎以某种方式将其持久化。这是通过 API 拉取数据然后存储在加密数据库中,还是拉取并存储在本地存储中,我不确定..

所以我的问题是 - 从广义上讲 - 我持久化通过 API 提取的用户银行数据的最佳方式是什么?

我可以将它存储在每次用户“刷新”连接时更新的数据库中吗?也许每隔几个小时,或者点击“刷新”?

还是有另一种更合适的方式让我这样做?

希望这是有道理的,并在正确的地方被问到。

4

1 回答 1

0

因此,通常在调用开放银行 API 时,您不想从客户端调用它——出于性能原因(正如您已经遇到的那样)和安全原因,因为您有暴露 API 机密的风险。这篇关于该主题的文章有一些方便的指导:在使用 JavaScript 进行 API 调用时保持凭据安全

我们建议保护加密数据并保存在数据库中,而不是本地存储中。Plaid 文档在启动清单中也稍微提到了这一点。

刷新数据的确切机制取决于您使用的 API,但如果它类似于 Transactions,Plaid 可以发送 webhook 以在有新数据可用时提醒您,因此您无需等待交互式用户输入命令刷新数据。

于 2021-01-22T23:09:18.870 回答