我没有在 React Native 应用程序中使用 Azure Active Directory 身份验证。
我想在云端保留一些 key ,以便用户可以轻松配置,而无需重新部署整个应用程序。
我正在考虑 Azure KeyVault,所以问题是,是否可以使用 Key Vault,我是否可以在不显示身份验证页面的情况下进行操作。
如果有任何其他解决方案,请告诉我。
最佳答案
您可以使用脚本代码来获取键的值。不需要显示认证页面。
下面是一个简单的控制台代码:
//const { DefaultAzureCredential } = require("@azure/identity");
const { ClientSecretCredential } = require("@azure/identity");
const { SecretClient } = require("@azure/keyvault-secrets");
const readline = require('readline');
function askQuestion(query) {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
return new Promise(resolve => rl.question(query, ans => {
rl.close();
resolve(ans);
}))
}
async function main() {
const keyVaultName = "bowmantest";
const KVUri = "https://" + keyVaultName + ".vault.azure.net";
//const credential = new DefaultAzureCredential();
tenantId = "e4c9ab4e-bdxxxxxx-230ba2a757fb";
clientId = "d340361e-5dxxxxxxbaf4-6e81aed46ed9";
clientSecret = "2X~43qA-~J2xxxxxxnT1a7_O2-dKyTK";
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const client = new SecretClient(KVUri, credential);
const secretName = "testbowmansecret";
console.log("Retrieving your secret from " + keyVaultName + ".");
const retrievedSecret = await client.getSecret(secretName);
console.log("Your secret is '" + retrievedSecret.value + "'.");
}
main()
我可以得到:(不需要去认证页面,但仍然需要认证。)
顺便说一句,您需要授予AD应用访问权限:
这是 API 文档:
(您可以在上述文档中找到有关 Azure JavaScript 的所有内容)。
关于android - 使用 Azure KeyVault 进行 React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63816273/