Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.forms AzureKeyVault集成AzureFunction和xamarin表单_Xamarin.forms_Azure Functions - Fatal编程技术网

Xamarin.forms AzureKeyVault集成AzureFunction和xamarin表单

Xamarin.forms AzureKeyVault集成AzureFunction和xamarin表单,xamarin.forms,azure-functions,Xamarin.forms,Azure Functions,我有一个xamarin应用程序-->azureFunction-->BlobStorage。到现在为止,一直都还不错。 AzureFunction设置为AuthorizationLevel.Function 我已将azure函数管理标识设置为“开” 我已将角色分配给BlobStorage(Blob数据参与者) 我可以使用函数键使用postman成功调用函数 我想将functionKey存储在KeyVault中,并从我的移动应用程序调用它 问题 任何人都了解如何将keyvault与功能键集成,并从

我有一个xamarin应用程序-->azureFunction-->BlobStorage。到现在为止,一直都还不错。 AzureFunction设置为AuthorizationLevel.Function

  • 我已将azure函数管理标识设置为“开”
  • 我已将角色分配给BlobStorage(Blob数据参与者)
  • 我可以使用函数键使用postman成功调用函数
  • 我想将functionKey存储在KeyVault中,并从我的移动应用程序调用它

    问题

    任何人都了解如何将keyvault与功能键集成,并从移动应用程序(xamarin forms)c#调用它

    我不想在我的移动应用程序中硬编码任何键。

    我会非常感激的。大量的谷歌搜索,什么都没有


    谢谢

    假设您的需求是从代码中调用函数。也许你可以参考下面的代码

                AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
                KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
                var secret = await keyVaultClient.GetSecretAsync("your Secret Identifier")
                        .ConfigureAwait(false);
                string functionkey = secret.Value;
                string functionhost = "https://your function.azurewebsites.net/api/function name";
                var param = new Dictionary<string, string>() { { "code", functionkey } ,{ "name","george"} };
                Uri functionurl = new Uri(QueryHelpers.AddQueryString(functionhost, param));
    
                var request = (HttpWebRequest)WebRequest.Create(functionurl);
                var response = (HttpWebResponse)request.GetResponse();
                string responseString;
    
                using (var stream = response.GetResponseStream())
                {
                    using (var reader = new StreamReader(stream))
                    {
                        responseString = reader.ReadToEnd();
                        Console.WriteLine(responseString);
                    }
                }
    
    AzureServiceTokenProvider AzureServiceTokenProvider=新的AzureServiceTokenProvider();
    KeyVaultClient KeyVaultClient=new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
    var secret=wait keyVaultClient.GetSecretAsync(“您的秘密标识符”)
    .配置等待(错误);
    字符串functionkey=secret.Value;
    字符串functionhost=”https://your function.azurewebsites.net/api/function name”;
    var param=newdictionary(){{“code”,functionkey},{“name”,“george”};
    Uri functionurl=新Uri(QueryHelpers.AddQueryString(functionhost,param));
    var request=(HttpWebRequest)WebRequest.Create(functionurl);
    var response=(HttpWebResponse)request.GetResponse();
    弦乐;
    使用(var stream=response.GetResponseStream())
    {
    使用(变量读取器=新的流读取器(流))
    {
    responseString=reader.ReadToEnd();
    控制台。写入线(响应线);
    }
    }
    

    非常感谢您抽出时间来帮助我,我想知道您是否知道这一点。我在单元测试中进行了测试并工作了,但我必须转到工具选项AzureServiceAuthentication并选择一个帐户。我的问题是,如果不进行调试,它将如何在我的实际移动应用程序中工作?