Как получить учетные данные из ключа KeyVault с использованием секретного ключа? - PullRequest
0 голосов
/ 28 июня 2019

У меня есть keyvault, который использует секретный ключ для получения учетных данных в javascript.Но мой клиент не хочет использовать «VaultSettings.KeyVaultSettings.azureKeyVaultAccessKey», который является секретным значением приложения, зарегистрированного на портале хранилища ключей.Ниже приведен код для доступа к учетным данным.

В C # AzureServiceTokenProvider () существует один метод, который предоставляет токен, который можно использовать для доступа к учетным данным в keyVault.Есть ли у нас что-то подобное в node.js?

const AuthenticationContext = require('adal-node').AuthenticationContext;
let VaultSettings = require('./KeyVaultSettings');

class KeyVaultUtils {
    constructor(secretNameIdentifier, secretVersionIdentifier) {
            this.secretName = secretNameIdentifier;
            this.secretVersion = secretVersionIdentifier;
    }

    authenticator(challenge, callback) {
            var context = new AuthenticationContext(challenge.authorization);
            return context.acquireTokenWithClientCredentials(challenge.resource,
                VaultSettings.KeyVaultSettings.clientAppId,
                VaultSettings.KeyVaultSettings.azureKeyVaultAccessKey,
                function (err, tokenResponse) {
                if (err) throw err;
                    var authorizationValue = tokenResponse.tokenType + ' ' + tokenResponse.accessToken;
                    return callback(null, authorizationValue);
                });
        }

        getKeyVaultValue(callback) {
            var credentials = new KeyVault.KeyVaultCredentials(this.authenticator);
            var client = new KeyVault.KeyVaultClient(credentials);
            client.getSecret(VaultSettings.KeyVaultSettings.vaultUri, VaultSettings.KeyVaultSettings.azureAccount, VaultSettings.KeyVaultSettings.azureAccountKey)
                .then(function (result) {
                callback(result);
            });
        };
}
module.exports = { KeyVaultUtils };```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...