使用我的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页面通过两种方式获得管理员的同意:
我已经尝试过这两个选项。使用第一个选项,我可以授予所需的权限。但是问题仍然存在。
使用第二个选项,当我转到建议的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”,并且运行良好。
我进行了测试,起初我遇到了同样的问题,这是因为在appsettings.json中很常见)
replace the "Tenant": "common" with "Tenant": "your Tenant ID",
您可以从应用程序注册目录(租户)ID的概述页面获取租户ID。之后,请确保右键单击该项目,然后单击“重建”。因为如果我只进行常规运行,它就会被缓存,并且不会从普通版本进行更新。
希望有帮助。