Microsoft Graph API:出现错误“ Authorization_IdentityNotFound”

问题描述 投票:0回答:1

使用我的outlook.com帐户登录portal.azure.com,并创建了一个新应用程序。 Microsoft已提供了一个用于快速实验的示例应用程序(daemon_console)(在《快速入门指南》中),我按照为该示例应用程序提供的步骤进行操作,该应用程序自动获取您生成的应用程序ID和客户端机密,并更新配置JSON文件(appsettings.json)与此信息。我在执行这些步骤后下载了代码,但是当我运行示例应用程序时,它将引发错误“ Authorization_IdentityNotFound”。

看起来它能够获取令牌,但是以下代码引发了错误:

            var httpClient = new HttpClient();
            var apiCaller = new ProtectedApiCallHelper(httpClient);
            await apiCaller.CallWebApiAndProcessResultASync($"{config.ApiUrl}v1.0/users", result.AccessToken, Display);

Microsoft页面通过两种方式获得管理员的同意:

  • 如果您是全局管理员,请转到“ API权限”页面,选择Enter_the_Tenant_Name_Here的授予管理员同意
  • 标准用户如果您是租户的标准用户,则需要请全局管理员为您的应用程序授予管理员同意。为此,请将以下URL提供给管理员:https://login.microsoftonline.com/common/adminconsent?client_id=my应用程序客户端ID

我已经尝试过这两个选项。使用第一个选项,我可以授予所需的权限。但是问题仍然存在。

使用第二个选项,当我转到建议的URL时,失败并显示错误:“ AADSTS500113:没有为该应用程序注册回复地址。”

我认为这应该是一个简单的过程,但是以某种方式该应用程序将无法执行,并因错误而失败:

 "code": "Authorization_IdentityNotFound",
"message": "The identity of the calling application could not be established.",

[请让我知道是否有人尝试了这些步骤并设法解决了此问题。

请注意,我可以使用我的outlook.com帐户从图形资源管理器中运行“ https://graph.microsoft.com/v1.0/users”,并且运行良好。

c# .net-core office365 azure-ad-graph-api
1个回答
0
投票

我进行了测试,起初我遇到了同样的问题,这是因为在appsettings.json中很常见)

replace the   "Tenant": "common" 
with   "Tenant": "your Tenant ID",

您可以从应用程序注册目录(租户)ID的概述页面获取租户ID。之后,请确保右键单击该项目,然后单击“重建”。因为如果我只进行常规运行,它就会被缓存,并且不会从普通版本进行更新。

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.