Azure 无效的 AccessToken
Azure invalid AccessToken
我正在尝试使用 Microsoft.Azure.Management.Resources 库来管理一些 Azure 资源。我已经在 Azure AD 中注册了应用程序并授予了它所有权限。我拿了它的 ApplicationId 和 Secret + 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' 之一。如果您作为应用程序访问,请确保在租户中正确创建服务主体。
有什么想法吗?
非常感谢。
我正在尝试使用 Microsoft.Azure.Management.Resources 库来管理一些 Azure 资源。我已经在 Azure AD 中注册了应用程序并授予了它所有权限。我拿了它的 ApplicationId 和 Secret + 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' 之一。如果您作为应用程序访问,请确保在租户中正确创建服务主体。
有什么想法吗?
非常感谢。