首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用VaultSharp在C#中读取地下室秘密

用VaultSharp在C#中读取地下室秘密
EN

Stack Overflow用户
提问于 2020-07-14 22:03:47
回答 1查看 3.9K关注 0票数 0

VaultSharp包似乎包含了我想要的所有内容,并且有很好的文档。我试图使用VaultSharp包从Vault服务器读取我们的秘密。但我生锈的C#在下面的"Secret<SecretData> kv2Secret = await vaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync("/secret/my_corp/my_app/dev/db_creds");“行上拦住了我,并发出了错误信息:

“等待”操作符只能在异步方法中使用。考虑使用“异步”修饰符标记此方法,并将其返回类型更改为“Task”。

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VaultSharp;
using VaultSharp.V1.AuthMethods.AppRole;
using VaultSharp.V1.AuthMethods;
using VaultSharp.V1.Commons;
using VaultSharp.V1.AuthMethods.Token;

namespace VaultConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var vaultUrl = "https://vault-server.url.com:443";
            Program.by_token(vaultUrl);

        }

     
       static  void by_token(string vaultUrl)
        {
            // Initialize one of the several auth methods.
            IAuthMethodInfo authMethod = new TokenAuthMethodInfo("s.R2gFHDiup5wCeHHksfc2zKUN");

            // Initialize settings. You can also set proxies, custom delegates etc. here.
            var vaultClientSettings = new VaultClientSettings(vaultUrl, authMethod);

            IVaultClient vaultClient = new VaultClient(vaultClientSettings);

            // Use client to read a key-value secret.
           Secret<SecretData> kv2Secret = await vaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync("/secret/my_corp/my_app/dev/db_creds");
        }

    }
}

代码基本上是从http://rajanadar.github.io/VaultSharp/复制的。

EN

回答 1

Stack Overflow用户

发布于 2020-07-15 00:18:45

错误就是告诉你你需要知道的事情。尽管我们推断:

“等待”操作符只能在异步方法中使用。考虑使用‘异步’修饰符标记此方法,并将其返回类型更改为'Task'

代码语言:javascript
复制
static async Task Main(string[] args)
{
    var vaultUrl = "https://vault-server.url.com:443";
    await Program.by_token(vaultUrl);
}

 
static async Task by_token(string vaultUrl)
{
    ...
    Secret<SecretData> kv2Secret = await vaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync("/secret/my_corp/my_app/dev/db_creds");
}

此时,您应该对异步和等待模式进行一些研究:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62904652

复制
相关文章

相似问题

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