目前,我有一个本地 PC 应用程序,它构建并将配置上传到嵌入式 Linux 设备(即客户端)。此设备通过其 OAuth2 API 连接到 Google 日历。配置要求:
- 资源所有者登录 Google 管理控制台并下载包含客户端密码的 JSON
- 将JSON文件导入软件并通过一次代码和Web浏览器授权帐户
- 连接到客户端(受密码保护)并使用现在授权的 JSON 文件连接它以获取令牌并与服务器通信
步骤 1 和 2 通常由 IT 部门处理,步骤 3 通常由第三方集成商处理。因此,一旦授权,该软件对 JSON 文件进行加密,密码保护配置,并可以发送给上述第 3 方。
加密 JSON 文件和密码是否足以保护配置?从理论上讲,该文件现在可以在软件可以连接的任何硬件上使用,因此存在凭据被滥用的风险。从软件中删除 JSON 文件会使部署的无缝性大大降低。
除了关于最低可接受风险的教育之外,还有其他选择吗?我能想到的唯一能让双方满意的事情就是以某种方式要求在会话后重新授权令牌,但我不确定是否可以将类似的东西强加到 Google 服务器上。