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



当我尝试使用 MSA(实时(帐户获取图形 API 的访问令牌时,我收到"无效范围错误"。这种情况仅针对少数 MSA 帐户发生,而不是针对所有帐户。

身份验证网址是

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>

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

要找出您收到这种不一致行为的原因 - 我们需要查看您对令牌请求的错误响应。 请用这些信息更新您的问题。

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

希望这有帮助,

最新更新