gpt4 book ai didi

c# - Azure 无效 AccessToken

转载 作者:行者123 更新时间:2023-12-05 07:46:40 24 4
gpt4 key购买 nike

我正在尝试使用 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:收到的访问 token 无效:至少应存在声明“puid”、“altsecid”或“oid”之一。如果您作为应用程序访问,请确保在租户中正确创建服务主体。

有什么想法吗?

非常感谢。

最佳答案

据我所知,Microsoft.Azure.Management.Resources.dll 实现了 ARM API。我们需要将应用程序分配给角色,然后我们就可以共同使用 token 了。有关如何将应用程序分配给角色的更多信息,请参阅article .这个blog还有更详细的获取AceessToken的步骤。 enter image description here

关于c# - Azure 无效 AccessToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40498446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com