当前位置: 首页 > 知识库问答 >
问题:

Azure Key Vault 401身份验证错误

翟奕
2023-03-14

我正在为我的azure无状态服务fabric应用程序从密钥存储库中获取机密值,并在100s密钥存储库机密中仅有2个密钥存储库机密获得401个依赖项错误(如果我通过connected application insight检查的话)。下面给出的是通过应用程序洞察显示的依赖错误的截图,其中一个密钥存储库的秘密。

这里请求路径是https://mykeyvaultname.vault.azure.net:443/secrets/pushmessagingsecretstopicname/?api-version=7.0

    public async Task<string> GetSecretAsync(string secretName, string clientId, string appKey, string vaultAddress)
            {
                string secretValue = string.Empty;
                if (string.IsNullOrEmpty(secretName))
                    throw new ArgumentNullException(nameof(secretName));

                if (string.IsNullOrEmpty(clientId))
                    throw new ArgumentNullException(nameof(clientId));

                if (string.IsNullOrEmpty(appKey))
                    throw new ArgumentNullException(nameof(appKey));

                if (string.IsNullOrEmpty(vaultAddress))
                    throw new ArgumentNullException(nameof(vaultAddress));

                var secretIdentifier = vaultAddress + "secrets/" + secretName;
                string cacheKey = secretIdentifier + clientId + appKey;

                secretValue = await GetSecretValue(clientId, appKey, secretIdentifier, cacheKey);

                return secretValue;
            }

private async Task<string> GetSecretValue(string clientId, string appKey, string secretIdentifier, string cacheKey)
        {
            IAdAuthentication authToken = new AdAuthentication
            {
                ClientId = clientId,
                AppKey = appKey
            };
            KeyVaultClient keyVaultClient = new KeyVaultClient(authToken.GetAuthenticationTokenAsync);

            // Get secret from the KeyVault.

            SecretBundle secret = null;

            Task tskGetSecret = Task.Run(async () =>
            {
                        //Here I am getting exception with response
                        secret = await keyVaultClient.GetSecretAsync(secretIdentifier).ConfigureAwait(false);
            });
            await Task.WhenAny(tskGetSecret);

            if (tskGetSecret.IsFaulted || tskGetSecret.IsCanceled)
            {
                secret = null;
            }

            string secretValue = string.Empty;
            if (secret != null && secret.Value != null)
            {
                secretValue = secret.Value.Trim();
            }

            return secretValue;
        }

StackTrace:-

at Microsoft.Rest.RetryDelegatingHandler.<>c__DisplayClass11_0.<<SendAsync>b__1>d.MoveNext()

共有1个答案

杜俊晤
2023-03-14

我正在关闭这个问题,因为通过进一步的调试,我发现这个问题不是间歇性的,也与特定的密钥库机密无关。在获取应用程序的第一个密钥存储库机密值时,总是会出现问题。我正在结束这个问题,并打开了一个新的问题与适当的细节。

 类似资料:
  • cluster=hfactory.getOrCreateCluster(“test cluster”,“localhost:9160”,凭据); 但不幸的是,它给了我一个错误: HFactory类型中的方法getOrCreateCluster(String,CassandraHostConfigurator,Map)不适用于参数(String,String,Map)

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 问题内容: 我刚刚开始使用docker。我正在按照此处指定的说明进行操作https://docs.docker.com/windows/step_one/ 我在Windows 10和ran上安装了docker(1.10.2)。但是,当本教程未提及任何内容时,出现了身份验证错误。 这是我收到的消息。 我在google&这里搜索,但找不到与此错误消息相似的内容。 谢谢! 问题答案: 当您运行任何其他d

  • 我正在使用Smack4.1原生库为android开发一个聊天应用程序。我可以在应用程序和服务器之间设置连接,但在登录时,我得到了关于SASL身份验证的SmackException。 null null 这是我的logcat输出。 事先谢谢你的帮助。欢呼:)

  • 我想在CDH-5.3.2版本中使用水槽从twitter获取数据。我已经配置了flume.conf、hbase接收器和twitter源代码。 但是,当我启动代理时,我收到以下错误: flume.conf和hbase接收器代码与此博客相同:http://ahikmat.blogspot.com/2014/08/streaming-twitter-tweets-to-hbase-with.html 而且

  • 在controller文件夹中,我有一个名为fbauth.php的控制器,其中有以下代码 但当我点击facebook链接并尝试连接时,我得到了如下错误 另外,为了进行双重检查,我在Kohana之外创建了这个函数,它没有问题。 我所做的是,在Kohana的外部,我创建了一个名为index.php的文件,在其中我输入了html和Facebook身份验证的标记,然后我创建了一个名为testauth.ph

  • 我正在尝试使用smtplib在python 2.7中发送邮件。下面的代码非常简单: 现在当我执行下面的代码时,我不断得到这个异常:

  • 问题内容: 我正在尝试在Node.js中使用Socket.IO,并试图允许服务器为每个Socket.IO客户端赋予一个身份。由于套接字代码不在http服务器代码的范围内,因此无法轻松访问已发送的请求信息,因此我假设在连接期间需要将其发送出去。什么是最好的方法 1)将有关谁通过Socket.IO连接到服务器的信息 2)验证他们说的是谁(如果正在使事情变得更容易,我目前正在使用Express) 问题答