Cam*_*ert 5 production webassembly blazor
在我的公司,我们目前正在编写一个在 Blazor WASM 客户端上运行并连接到 Azure 上的 API 管理器的应用程序,尽管只有在随请求发送相关 api 密钥之后才会连接到该应用程序。
我遇到的麻烦是生产秘密的安全存储。理想情况下,我想隐藏相关部署槽 api 的端口名称、api 密钥以及 B2C 客户端 ID 信息(我们使用 Azure B2C 进行客户端身份验证)
据我所知,API 管理器可以配置为在登录后使用我们的 B2C 访问令牌作为身份验证过程的一部分,但仍然需要安全地存储 api 密钥、端口名称和客户端 ID。我尝试将 Azure Key Vault 与托管身份结合使用(尽管文档指出 Blazor 不支持它,但我不得不在绝望中尝试),并且正如预期的那样,我在运行时在代码中遇到了错误 - “ArgsPlatformNotSupportedException”。我真的希望这会起作用,因为它会让实现秘密存储变得更加容易,特别是当我们的应用程序部署在 Azure 应用服务上时。我还尝试通过应用程序服务应用程序设置菜单覆盖应用程序设置,但这也不起作用。我尝试将 Azure 应用程序设置作为环境变量进行访问,但这也不起作用,因为我非常愚蠢地没有意识到浏览器应用程序将很大程度上限制于该进程的环境变量。
所以我的问题是,当前支持的 Blazor WebAssembly 生产过程中保护机密的最佳实践方法是什么?该文档警告您不支持 Key Vault 和应用程序配置,告诉您不要将 appsettings.json 用于生产机密,但没有提供任何有用的替代方案。
感谢您的时间!
| 归档时间: |
|
| 查看次数: |
1258 次 |
| 最近记录: |