【发布时间】:2020-11-12 18:07:35
【问题描述】:
我正在尝试使用 managedIdentity 来获取一个令牌,然后我可以使用它来列出资源组中的资源。尝试获取令牌时出现错误。 GetToken() api 似乎在内部将其他字符串(offline_access openid)添加到我提供的范围内,但该范围不是有效的 url 失败。从错误来看,我似乎没有正确使用 api。但我也在关注文档。有人可以帮助追踪我的代码中的问题。
代码:
var managedIdentityCredential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = managedIdentityId });
var azureServiceTokenProvider = new AzureServiceTokenProvider("RunAs=App");
AccessToken accessToken = managedIdentityCredential.GetToken(new TokenRequestContext(new string[] { "https://management.azure.com/" }));
错误:
Azure.Identity.AuthenticationFailedException:SharedTokenCacheCredential 身份验证失败。 ---> Microsoft.Identity.Client.MsalServiceException:AADSTS70011:提供的请求必须包含“范围”输入参数。为输入参数“范围”提供的值无效。范围https://management.azure.com/offline_access openid 配置文件无效。范围格式无效。范围必须采用有效的 URI 形式 https://example/scope 或有效的 Guid
【问题讨论】:
标签: c# azure azure-managed-identity