如何隐藏开发人员密钥

时间:2014-03-25 13:37:19

标签: c# api key httpclient

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

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

但那就是摩擦;我想将其作为一个开源应用程序,但这将向任何下载和查看代码的人透露我的开发人员密钥。

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

1 个答案:

答案 0 :(得分:1)

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

这会使您的密钥保密,并且当您从应用程序进行外部呼叫时,这无关紧要。它还有一个额外的好处,就是你可以控制整个生态系统而不是直接呼叫第三方的人。

低端?好吧,它不是完全开源的,但它可能会尽可能接近,同时保留一些私密性。