score:1

Accepted answer

using the loginwithappservicemsi() method from ms-rest-azure will autodetect if you're on a webapp and get the token from the msi endpoint. so you must host your code on azure webapp. refer to this article for more details.

function getkeyvaultcredentials(){
    return msrestazure.loginwithappservicemsi({resource: 'https://vault.azure.net'});
}

function getkeyvaultsecret(credentials) {
    let keyvaultclient = new keyvault.keyvaultclient(credentials);
    return keyvaultclient.getsecret(key_vault_uri, 'secret', "");
}

getkeyvaultcredentials().then(
    getkeyvaultsecret
).then(function (secret){
    console.log(`your secret value is: ${secret.value}.`);
}).catch(function (err) {
    throw (err);
});

if you don't have to use managed service identity (msi), you can use msrestazure.loginwithserviceprincipalsecret(clientid, secret, domain) to get the credentials.

function getkeyvaultcredentials(){
        return msrestazure.loginwithserviceprincipalsecret(clientid, secret, domain);
    }

Related Query

More Query from same tag