我正在使用下面的节点库azure-keyvault从azure密钥库中获取存储的秘密。我只找到了公开的client.getSecret应用程序接口来检索一个密码值。我正在寻找一种在一次调用中检索多个密码值的方法。我还没有找到。有没有办法做到这一点,我没有或它只是不受支持。
发布于 2019-06-18 14:49:30
下面是一次获取多个客户端密码的完整代码:
var credentials = new KeyVault.KeyVaultCredentials(authenticator);
var client = new KeyVault.KeyVaultClient(credentials);
client.setSecret(vaultUri, 'mysecret', 'my password', options, function (err, secretBundle) {
// List all secrets
var parsedId = KeyVault.parseSecretIdentifier(secretBundle.id);
client.getSecrets(parsedId.vault, parsedId.name, function (err, result) {
if (err) throw err;
var loop = function (nextLink) {
if (nextLink !== null && nextLink !== undefined) {
client.getSecretsNext(nextLink, function (err, res) {
console.log(res);
loop(res.nextLink);
});
}
};
console.log(result);
loop(result.nextLink);
});
});你可以在下面使用node js找到azure密钥库的完整参考:
http://azure.github.io/azure-sdk-for-node/azure-keyvault/latest/KeyVaultClient.html#getSecrets
http://azure.github.io/azure-sdk-for-node/azure-keyvault/latest/
希望能有所帮助。
发布于 2019-07-26 12:33:24
你可以使用read-azure-secrets npm包,它会返回所有的秘密给你。例如。
const secretClient = require('read-azure-secrets');
async function loadKeyVaultValues() {
let applicationID = '';
let applicationSecret = '';
let vaultURL = 'https://<your-key-vault-name>.vault.azure.net/';
let secrets = await secretClient.getSecrets(applicationID, applicationSecret, vaultURL);
secrets.forEach(secret => {
console.log(secret);
});
}
loadKeyVaultValues();发布于 2019-06-17 20:25:11
您可以尝试使用REST Api公开的client.getSecrets(..)方法。
请通过以下有用的博客,其中所有的方法都已实现。
链接:https://www.red-gate.com/simple-talk/cloud/platform-as-a-service/using-azure-keyvault-with-node-js/
https://stackoverflow.com/questions/56628794
复制相似问题