我试图使用Microsoft.Azure.Management.Resources库来管理一些Azure资源。我在Azure注册了应用程序,我给了它所有的许可。我拿了它的ApplicationId和TennantId + SubscriptionId,然后试着用这样的方式来讨好AccessToken:
var clientCredential = new ClientCredential(_model.DeploymentDetails.CliendId, _model.DeploymentDetails.ClientSecret);
var context = new AuthenticationContext("https://login.windows.net/"+model.DeploymentDetails.TennantId);
_accessToken = context.AcquireTokenAsync("https://management.azure.com/", clientCredential).Result.AccessToken;
_resourceManagementClient = new ResourceManagementClient(new TokenCloudCredentials(_model.DeploymentDetails.SubscriptionId,_accessToken));我得到了一些AccessToken。但当我试着像这样使用它时:
var x = _resourceManagementClient.ResourceGroups.List(...);我知道这个错误:
附加信息: InvalidAuthenticationToken:接收到的访问令牌无效:至少应该有一个声明“puid”或“altsecid”或“oid”。如果您作为应用程序访问,请确保在租户中正确地创建了服务主体。
有什么想法吗?
非常感谢。
https://stackoverflow.com/questions/40498446
复制相似问题