如何隐藏开发者密钥

问题描述 投票:0回答:1

我正在开展一个个人项目,编写一个与免费网络服务同步的应用程序。他们有一个免费的 API,可以让第三方连接并检索信息,并自行控制帐户。

这一切都很好,但为了做到这一点,所有应用程序都需要在其网站上注册开发人员密钥。这是一个静态密钥,允许我的应用程序连接并执行操作。

但这就是问题所在;我想让它成为一个开源应用程序,但这会向任何下载并查看代码的人透露我的开发人员密钥。

有没有办法隐藏这个键;保持源代码开放但不公开密钥?

c# key dotnet-httpclient
1个回答
1
投票

一种可能的解决方案是编写您自己的 Web 服务/API。您可以在其中存储其他第三方服务的 API 密钥。然后,在您的开源应用程序中,您将调用您的服务,该服务又使用存储的(且从未透露的)API 密钥与第三方进行通信。

这将使您的密钥保持私密,并且当您从应用程序进行外部调用时,无论如何这应该不重要。它还具有额外的优势,您可以控制整个生态系统,而不是人们直接调用第三方。

缺点?嗯,它不会是完全开源的,但它可能是您在保持其中一些私有的同时能够获得的最接近的开源。

© www.soinside.com 2019 - 2024. All rights reserved.