有关真实帐户的访问令牌请求的Microsoft Graph REST API错误AADSTS65001

时间:2015-12-08 15:23:01

标签: office365 microsoft-graph

我使用microsoft Grap API在我的网络应用上签名用户并获取他们的基本个人资料。我已经按照the microsoft overview上的每个步骤进行了操作。

使用任何实时电子邮件(尝试过outlook.fr和hotmail.com),我在请求访问令牌时遇到此错误:

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

我有什么遗失的吗?我在我的Azur Portal应用程序上只配置了一个权限,在微软图表api委托的权限下:"登录并阅读用户配置文件"。没有其他应用授权。

当我尝试使用office365帐户时,一切正常。我甚至可以拨打https://graph.microsoft.com/v1.0/me并获得结果。

我已经检查了我的redirect_uri,他们在授权和访问令牌请求上都匹配。我已经打开了APPLICATION IS MULTI-TENANT选项并修改了清单文件,除了默认情况下一切都是。

微软图表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

1 个答案:

答案 0 :(得分:2)

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

您不必通过Azure门户注册您的应用,而是需要使用https://apps.dev.microsoft.com,而不是静态声明您的应用的委派权限,它将能够在请求时使用范围查询参数动态请求权限来自https://login.microsoftonline.com/common/oauth2/v2.0的令牌或代码。