如何在 React 应用程序 [typescript] 中从 KeyVault 检索机密
How do I retrieve Secrets from KeyVault in React application [typescript]
我想通过传递 clientid、clientkey 和 tenantid 从 React 应用程序中的 keyvault 检索机密。按照以下示例操作但收到错误 - “浏览器不支持 EnvironmentCredential”。
应用程序 - React [TypeScript]
浏览器 - Chrome86.0
谢谢。
黛布
该错误是有意为之的 - DefaultAzureCredential() 在 Node (server-side JS) 中受支持,但 client-side Javascript 不支持:https://github.com/Azure/azure-sdk-for-js/issues/10645
主要原因是将您的 clientKey 暴露给浏览您网站的任何人通常是一个严重的安全漏洞。
如果您的 React 应用程序正在使用 API,那么最好让 React 调用您的 API,然后让 API 与 Key Vault 对话。如果您目前没有,那么简单的 Functions 或 Logic 应用程序之类的东西可以充当您的 API。 (如果您的网站流量较低,功能特别有免费套餐)。
如果您了解风险并仍想在浏览器中执行此操作,您有几个选择 - 您可以创建 TokenCredential yourself to pass into the client, or you can skip the SDK and call the API directly.
我想通过传递 clientid、clientkey 和 tenantid 从 React 应用程序中的 keyvault 检索机密。按照以下示例操作但收到错误 - “浏览器不支持 EnvironmentCredential”。
应用程序 - React [TypeScript]
浏览器 - Chrome86.0
谢谢。
黛布
该错误是有意为之的 - DefaultAzureCredential() 在 Node (server-side JS) 中受支持,但 client-side Javascript 不支持:https://github.com/Azure/azure-sdk-for-js/issues/10645
主要原因是将您的 clientKey 暴露给浏览您网站的任何人通常是一个严重的安全漏洞。
如果您的 React 应用程序正在使用 API,那么最好让 React 调用您的 API,然后让 API 与 Key Vault 对话。如果您目前没有,那么简单的 Functions 或 Logic 应用程序之类的东西可以充当您的 API。 (如果您的网站流量较低,功能特别有免费套餐)。
如果您了解风险并仍想在浏览器中执行此操作,您有几个选择 - 您可以创建 TokenCredential yourself to pass into the client, or you can skip the SDK and call the API directly.