azure https://graph.microsoft.com/v1.0/me 为我以外的其他用户返回403

inn6fuwd  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(153)

我开发了一个使用Express MSAL tutorial作为身份验证机制的小应用程序。
我可以登录并通过https://graph.microsoft.com/v1.0/me请求我的用户信息。
但是,如果我切换到测试用户(在同一个域中),我在访问https://graph.microsoft.com/v1.0/me时会收到403错误。还确认了这种情况发生在同事身上(也在同一个域中)
使用jwt.ms,我可以看到我自己的用户获得的访问令牌具有scp: openid profile User.Read email,而我的测试用户仅获得scp: openid profile email。所以我猜,它正在按预期工作。但是,问题是-如何添加用户。向使用该应用的所有用户阅读?
在Azure门户中我的应用的API权限中,我将DelegatedUser.Read作为权限。(我认为这是自动添加的)x1c 0d1x

5fjcxozz

5fjcxozz1#

我尝试在我的环境中重现相同的错误,但得到了如下相同的错误:

如果用户没有执行操作所需的权限,则通常会发生此错误:

    • 要解决此错误,请尝试以下操作:**

我同意 * DipeshJadhav *,生成scopehttps://graph.microsoft.com/.default的令牌:

访问令牌包含**user.read**权限,解码如下:

通过正确的范围后,我能够成功读取用户详细信息:

在您的代码中,尝试将范围传递为:scopes: ["https://graph.microsoft.com/.default"]

    • 如果问题仍然存在**,请授予管理员对API权限的同意:

相关问题