我是一位有用的助手,可以翻译文本。
我正在尝试调用订阅中的所有保险库。我使用的方法是这样的 -
控制器
对于我的控制器,“test.Token”始终返回空值,但我不禁想到这可能是因为我没有在test中传递任何内容到Helper.Token。我知道Helper.Token基本上匹配回调函数的需求:
我正在尝试调用订阅中的所有保险库。我使用的方法是这样的 -
控制器
var myClient = new Microsoft.Azure.KeyVault.KeyVaultClient(new KeyVaultClient.AuthenticationCallback(Helper.GetToken));
Microsoft.Azure.KeyVault.KeyVaultCredential test = new KeyVaultCredential(new KeyVaultClient.AuthenticationCallback(Helper.GetToken));
TokenCloudCredentials tokenCredentials = new TokenCloudCredentials("xxx", test.Token);
KeyVaultManagementClient client = new KeyVaultManagementClient(tokenCredentials);
VaultListResponse response = new VaultListResponse();
助手
public static async Task<string> GetToken(string authority, string resource, string scope)
{
var clientId = ConfigurationManager.AppSettings["AuthClientId"];
var clientRedirectURI = ConfigurationManager.AppSettings["AuthClientRedirectURI"];
var context = new AuthenticationContext(authority, TokenCache.DefaultShared);
result = await context.AcquireTokenAsync(resource, clientId, new Uri(clientRedirectURI), new PlatformParameters(PromptBehavior.Always));
return result.AccessToken;
}
对于我的控制器,“test.Token”始终返回空值,但我不禁想到这可能是因为我没有在test中传递任何内容到Helper.Token。我知道Helper.Token基本上匹配回调函数的需求:
public delegate Task<string> AuthenticationCallback(
string authority,
string resource,
string scope)
但是我从哪里获取权威、资源和范围呢?谢谢!