问题......
我们有一个经典的" Windows桌面应用程序(WPF),它通过Application Insights发送遥测数据。检测密钥当前与应用程序一起部署。为简单起见,我们假设它是硬编码的; - )
最近我们发现,如果我们删除了azure中的Application Insights资源,则无法恢复。因此,仪器密钥丢失了。但是,我们当然可以成为一个新实例。但仪器仪表的关键是不同的。如何在我们所有现有装置(现场)上更改仪表键?
到目前为止解决方案
而不是"硬编码"仪表键,我们从"云"通过azure functions。我们进行REST调用以获取检测密钥。显然现在这个函数的URL是硬编码而不是密钥本身。如果检测密钥发生变化,我们可以在此功能中更新它,而无需创建我们软件的新版本并更新所有客户。
这有效。但是......
...有没有(更简单的)其他方式来解决这个问题?也许已经有内置方法,API等可以做到这一点?
任何想法都表示赞赏
垫
答案 0 :(得分:2)
通过REST从远程服务或API获取密钥的解决方案是可行的。客户端应用程序还可以连接到某种遥测服务,该服务又与Azure通信并存储密钥。然后客户端只需知道REST服务的地址,也可能知道如何授权自己。
另一种解决方案是在应用程序配置文件中指定密钥,并告诉最终用户自己更新配置文件,或者在更改检测密钥时提供更新的配置文件。这至少可以使您不必重建和重新部署二进制文件。显然,如果您将密钥硬编码到代码中,则需要执行此操作。