Xamarin.forms AzureKeyVault集成AzureFunction和xamarin表单
我有一个xamarin应用程序-->azureFunction-->BlobStorage。到现在为止,一直都还不错。 AzureFunction设置为AuthorizationLevel.FunctionXamarin.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与功能键集成,并从
谢谢假设您的需求是从代码中调用函数。也许你可以参考下面的代码
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并选择一个帐户。我的问题是,如果不进行调试,它将如何在我的实际移动应用程序中工作?