输入参数'范围'提供的值。无效。范围' https://graph.microsoft.com/user.readBasic.all'无效

时间:2018-02-02 10:34:16

标签: graph openid microsoft-graph openid-connect

我收到了无效的范围错误'而我正在尝试使用MSA(实时)帐户获取Graph API的访问令牌。这种情况仅发生在少数MSA账户中,而非所有账户。

auth url是

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=<app id>&redirect_uri=<call back url>&response_type=code+id_token&state=state&nonce=c7a966a3-d63d-4348-8ab8-bd445b0e9bb1&response_mode=form_post&scope=openid+email+profile+https%3A%2F%2Fgraph.microsoft.com%2Fuser.readBasic.all

curl cmd使用了获取访问令牌

POST /common/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: 3d1ec75e-e0ec-4507-5b4c-fa59f0f71c31client_id=<app id>&scope=https%3A%2F%2Fgraph.microsoft.com%2Fuser.readBasic.all&redirect_uri=<redirect url>&grant_type=authorization_code&client_secret=<app secret >&code=<code>

我很困惑为什么它适用于少数帐户。

1 个答案:

答案 0 :(得分:1)

要找出导致此不一致行为的原因 - 我们需要查看您获取令牌请求的错误响应。请使用该信息更新您的问题。

与此同时,User.ReadBasic.All仅对工作或学校(即组织)帐户有效,而不对MSA有效。此权限通常用于读取其他用户的配置文件(在您的组织中),因此在消费者方案中无效。这在此处记录:https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference#user-permissions(在备注的第一行)。 您的应用是否有理由请求此权限才能与MSA一起使用?

希望这有帮助,