在电子应用程序中存储和使用个人访问令牌
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来处理令牌存储。
我正在使用 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来处理令牌存储。