我应该将 OAuth 客户端机密存储在电子应用程序中的何处?

Cyr*_*pta 7 node.js electron

我正在构建一个使用公共 API 的电子应用程序(桌面)。现在我们都知道 Javscript 将对所有人可见,我将丑化我的代码。

要进行 API 调用,我必须将 client-id 和 client-secret 传递给 API 提供者。使用这两个密钥,任何人都可以冒充我并调用 API。

到目前为止,我一直在使用编译的编程环境,因此获取这些信息比较困难。在这种情况下,当我使用 Javascript 创建桌面应用程序并且客户端机密将在那里时,您有什么建议。

我们可以做些什么来完成这项工作?

在我自己的服务器上调用代码来获取这些数据,我想不出任何其他方式来安全地存储客户端机密。

想法请。:)

kaw*_*a21 -1

如果您使用任何第三方服务/API,则不能公开客户端 ID 和密钥。您必须通过您自己的服务器路由这些请求。此外,很少有身份验证解决方案会检查和验证请求的源/IP 地址。如果此类请求来自随机客户端 IP,它可能会完全拒绝。

  • 这不是通过创建另一个相同的问题来解决问题吗?现在,您需要保护对您自己的服务器的访问,以便不良行为者不会调用您服务器的第三方 API 代理。如果您通过将秘密传递到服务器来做到这一点,那么您现在已经将该秘密存储在您的电子应用程序中。 (2认同)