1

我正在使用 microsoft Grap API 在我的网络应用程序上登录用户并获取他们的基本个人资料。我已经按照microsoft 概述中的每个步骤进行操作。

对于任何实时电子邮件(尝试使用 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 并且它们在授权和访问令牌请求上都匹配。我已经打开了 APPLICATION IS MULTI-TENANT 选项并修改了清单文件,除了一切都是默认的。

microsoft graph 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
4

1 回答 1

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的令牌或代码。

于 2015-12-08T19:14:14.737 回答