Как приложение Gatsby получает доступ к хранилищу ключей Azure

Я успешно развернул приложение Gatsby в Azure в соответствии с этими инструкциями. Это отдельный ресурс от "обычного" веб-приложения. "Обычное веб-приложение будет развернуто на ресурсе службы приложений, но для Gatsby оно развернуто в другом Reqource статической веб-страницы. Таким образом, URL-адрес теперь имеет вид https: //<сгенерированное имя>.azurestaticapps.net, где сгенерированный -name - это НЕ имя приложения. Кажется, что в инструкциях по подключению веб-службы к хранилищу ключей есть некоторые дыры, которые необходимо заполнить. Какие шаги мне нужно предпринять, чтобы подключить мое приложение Gatsby к моему хранилищу ключей Azure во время разработки и на производственной площадке?

1 ответ

Решение

Ошибка: EnvironmentCredential не поддерживается в браузере.

В вашем случае используйте ClientSecretCredential вместо других.

Убедитесь, что вы выполнили предварительные требования, затем в своем коде используйте ClientSecretCredential, пройти tenantId, clientId, clientSecret вашего принципала службы, это должно быть примерно так, retrievedSecret.value это ценность секрета.

const { ClientSecretCredential } = require("@azure/identity");
const { SecretClient } = require("@azure/keyvault-secrets");

const keyVaultName = "xxxx";
const KVUri = "https://" + keyVaultName + ".vault.azure.net";

const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const client = new SecretClient(KVUri, credential);

const retrievedSecret = await client.getSecret(secretName);
Другие вопросы по тегам