在电子应用程序中存储和使用个人访问令牌

Storing and using personal access tokens in an electron app

我正在使用 electron 构建一个小型桌面应用程序来与我的 laravel 后端进行交互。我在这里使用 laravel 密室,因此我可以轻松地通过 https 获取个人访问令牌,然后使用它发出授权的 api 请求。令牌将使用 node-keytar(主进程)存储。我还在电子应用程序的前端使用 vue.js。

现在我的问题是:我是否需要在主进程中发出所有授权的 api 请求,并将接收到的响应通过 ipc 发送到渲染器进程?或者在渲染器进程中发出授权请求(使用个人访问令牌作为 Bearer 令牌)是否安全?因为一方面我读到应该尽可能多地在渲染器进程中完成以确保性能。但另一方面,我不知道令牌是否可以以某种方式被拦截,而且我找不到太多这方面的信息。

谁能帮忙提前致谢!

本机客户端将令牌直接从 UI 发送到 API 是非常标准的 - 这就是非 Java 脚本桌面应用程序的工作方式 - 例如,如果编码在 Java 或 C#。

当然,对于 Electron 应用程序节点集成应该在渲染器进程中禁用,因此使用 keytar 的特权代码必须在主进程中 运行。

要比较的东西

有一个我的样本here that uses OAuth for desktop apps with Electron, and keytar for token storage. I call APIs directly when getting data for views, and need to call from the renderer to the main process来处理令牌存储。