使用实时帐户访问令牌请求时出现Microsoft Graph REST API错误AADSTS65001



我正在使用microsoft Grap API让用户登录我的web应用程序并获取他们的基本配置文件。我遵循了微软概述中的每一个步骤。

对于任何实时电子邮件(尝试outlook.fr和hotmail.com),我在请求访问令牌时收到了这个错误:

AADSTS65001: No permission to access user information is configured for 'MyAppId' application, or it is expired or revoked.

我有什么东西不见了吗?我在我的Azur Portal应用程序上只配置了一个权限,在microsoft graph api委派的权限下:"登录并读取用户配置文件"。没有其他应用程序授权。

当我尝试使用office365帐户时,一切都很好。我甚至可以调用https://graph.microsoft.com/v1.0/me并得到结果。

我已经检查了我的redirect_uri,它们在授权和访问令牌请求上都匹配。我已经打开了"应用程序是多租户"选项,并修改了清单文件,除此之外,所有内容都是默认的。

微软图形api能处理实时登录我的网络应用程序吗?如果是的话,有人能帮我理解我错在哪里吗?

以下是我的授权链接,适用于任何帐户:

https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=MyClientId&redirect_uri=MyUri

这是我的访问令牌请求链接:

https://login.microsoftonline.com/common/oauth2/token
POST data : grant_type=authorization_code&code=MyCode&client_id=MyClientId&client_secret=MySecret&resource=https%3A%2F%2Fgraph.microsoft.com%2F&redirect_uri=MyUri

为了能够在Azure Active Directory帐户之外使用Live Id/Microsoft帐户,请使用新的聚合授权流,如中所述https://graph.microsoft.io/docs/authorization/converged_auth.

您需要使用https://apps.dev.microsoft.com并且,当从中请求令牌或代码时,它将能够使用范围查询参数动态请求权限,而不是静态地声明应用程序的委派权限https://login.microsoftonline.com/common/oauth2/v2.0.

相关内容

最新更新