首页 > 解决方案 > 在桌面应用程序中存储 Auth0 设置的最佳做法?

问题描述

我目前正在 app.config 中为我的桌面应用程序存储 Auth0 设置(域、clientId、范围、领域、受众),例如:

        <add key="Auth0:Domain" value="" />
        <add key="Auth0:ClientId" value="" />
        <add key="Auth0:Scope" value="" />
        <add key="Auth0:Realm" value="" />
        <add key="Auth0:Audience" value="" />

我的同事认为让用户选择通过这样做来更改它不是一个明智的主意——他更喜欢硬编码它们。

我认为没有人会费心去摆弄它,它是公共信息,任何人都不会对此造成太大的伤害。

这里的最佳做法是什么?

标签: wpfwindowswinformsoauth-2.0auth0

解决方案


有几个选项在安全性方面没有太大区别:

  • 硬编码(呃)
  • 单独的配置文件
  • 嵌入式资源

最干净的选择通常是从 API 下载设置,因为它使更新和版本控制更容易:

  • 获取 /apI/桌面/配置

您的应用程序需要知道的有关远程系统的唯一信息是其(入口点)API URL。

对于桌面和移动应用程序,我喜欢有一个(隐藏的)选项来测试你可以在哪里切换环境。这可以是设置页面或部署的配置文件 - 但唯一可编辑的值是 API URL。

这非常适合持续交付最佳实践,您可以在其中构建一次二进制文件,然后在部署步骤中与配置相结合。它也应该满足你同事的担忧。


推荐阅读