首页 > 解决方案 > 在电子应用程序中存储和使用个人访问令牌

问题描述

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

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

有人可以帮忙提前谢谢!

标签: vue.jsaxioselectronaccess-token

解决方案


原生客户端直接从 UI 向 API 发送令牌是非常标准的——这就是非 Javascript 桌面应用程序的工作方式——例如,如果用 Java 或 C# 编码。

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

可以比较的东西

这里有一个我的示例,它将 OAuth 用于具有 Electron 的桌面应用程序,并将 keytar 用于令牌存储。我在获取视图数据时直接调用API,需要从渲染器调用到主进程来处理令牌存储。


推荐阅读