繁体   English   中英

https://management.azure.com/tenants api using asp.net core and c# code return The remote server returned an error: (401) Unauthorized

[英]https://management.azure.com/tenants api using asp.net core and c# code return The remote server returned an error: (401) Unauthorized

I want to call https://management.azure.com/tenants?api-version=2020-01-01 api to call to get tenant list in my project, using asp.net and c#, but not able to get valid link. 如果可能的话,分享这个样本。

我知道如何调用 api,问题是我没有得到正确的响应,我参考下面的链接来调用 api,但是在调用组织 api 后得到异常'远程服务器返回'未授权'错误:

我已经使用 GetAccessToken() 方法获取了 Token

https://msftstack.wordpress.com/2016/01/03/how-to-call-the-azure-resource-manager-rest-api-from-c/

我从 Token 得到以下信息

在此处输入图像描述

要调用此 api,您需要为此 api 生成访问令牌。 要生成此令牌,您需要具有特定 api 权限的 azure 广告应用程序。 对于您的 401 错误,可能是权限错误或不包含 scope。 您可以调试代码并将访问令牌和 go 复制到https://jwt.io/以生成它。

检查您的令牌是否具有正确的 aud https://management.azure.com和 Z31A1FD140BE4BEF2D58A user1E

这是api 的详细信息,我将向您展示我的详细信息。

在此处输入图像描述 在此处输入图像描述

由于委托权限,需要通过ropc流或auth码流的用户生成token(这不仅指azure广告app,在生成access token的过程中还需要使用用户名和密码)。

我想你可以在这个官方文档中找到一个示例。

如果您想生成令牌并在 angular 应用程序中调用 api,您可以参考此示例,请注意示例调用图 api

在此处输入图像描述

如果您更喜欢在后端应用程序中调用 api,您可以将令牌发送到后端程序,因为守护程序应用程序仅支持客户端凭据流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM