[英]The remote server returned an error: (401) Unauthorized in context.ExecuteQuery() : ASP.Net
[英]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.