首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检索反应性JS中的Azure密钥库

如何检索反应性JS中的Azure密钥库
EN

Stack Overflow用户
提问于 2019-08-06 12:30:15
回答 1查看 5.8K关注 0票数 1

我在Azure中创建了一些设置,我需要在react中从那里获取一些秘密密钥。

代码语言:javascript
复制
const KeyVault = require('azure-keyvault');
const msRestAzure = require('ms-rest-azure');

var KEY_VAULT_URI = "https://mydomain.com.vault.azure.net/";

msRestAzure.loginWithAppServiceMSI({resource: 'https://vault.azure.net', msiEndpoint: 'https://vault.azure.net', msiSecret: '69418689F1E342DD946CB82994CDA3CB', msiApiVersion: '' }).then((credentials) => {
    const keyVaultClient = new KeyVault.KeyVaultClient(credentials);
    var data = keyVaultClient.getSecret(KEY_VAULT_URI, 'My_Secret_Key');
    console.log(data);
});

我有点问题,net::ERR_NAME_NOT_RESOLVED,我想我漏掉了什么。有谁能建议如何从Azure那里取回反应Js中的秘密密钥?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-07 03:02:56

使用ms-rest-azure的loginWithAppServiceMSI()方法将自动检测您是否在WebApp上,并从MSI端点获取令牌。因此,您必须在Azure webapp上托管您的代码。有关详细信息,请参阅这篇文章

代码语言:javascript
复制
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);
});

如果不必使用托管服务标识(MSI),则可以使用msRestAzure.loginWithServicePrincipalSecret(clientId, secret, domain)获取凭据。

代码语言:javascript
复制
function getKeyVaultCredentials(){
        return msRestAzure.loginWithServicePrincipalSecret(clientId, secret, domain);
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57376119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档