Azure active directory 尝试访问v2端点托管的webapi,但运气不好,如果现在只有graph api在v2上工作,这是真的吗?

Azure active directory 尝试访问v2端点托管的webapi,但运气不好,如果现在只有graph api在v2上工作,这是真的吗?,azure-active-directory,Azure Active Directory,如果在v2端点上运行webapi,其目的是通过对graph和自定义webapi的单个调用获得访问权,使用v2身份验证代码授权流,url使用如下所示 https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=14e9111f3e1-d220-415d-9bf4-d089f0b5feff&response_type=code&redirect_uri=https%3A%2F%2Flocalhost

如果在v2端点上运行webapi,其目的是通过对graph和自定义webapi的单个调用获得访问权,使用v2身份验证代码授权流,url使用如下所示

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=14e9111f3e1-d220-415d-9bf4-d089f0b5feff&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%3A8081%2Fartifactory%2Fwebapp%2Fsaml%2FloginResponse&response_mode=query&scope=api%3A%2F%2F14e9f3e1-d220-415d-9bf4-d089f0b5feff%2Faccess_as_user%20https%3A%2F%2Fgraph.windows.net%2Fuser.read%20openid%20offline_access&state=12345
范围如下

api://14e9f3e1-d220-415d-9bf4-d089f0b5feff/access_as_user https://graph.windows.net/user.read openid offline_access
但是,继续失败,并出现无效的作用域错误。如果我从资源中取出定制的webapi,一切都进行得非常顺利

进一步阅读,webpi有一个限制:

Web API只能从具有相同应用程序ID的应用程序接收令牌。您不能从具有不同应用程序ID的客户端访问Web API

所以我很困惑,如何实现使用v2端点进行身份验证并访问graph和webapi的目标???

--编辑
错误消息为“AADSTS65005:应用程序”blah“请求资源上不存在的作用域“user.read”。请与应用程序供应商联系。“

今天,v2端点无法为自定义API颁发访问令牌。该功能正在积极开发中,但没有可供共享的ETA。
还要注意:即使该功能可用,您也无法跨多个资源重用相同的访问令牌;您可以一次同意多个资源,这样您的用户只能升级一次,但您需要分别为每个资源请求访问令牌。

这非常令人伤心。。谢谢你的回答,非常清楚!!它是如何为graph工作的?我可以在同一个通话中请求多个范围,例如mail.read、mail.send等。我们希望很快推出该功能,对给您带来的不便深表歉意。您完全可以为图表询问多个作用域:生成的令牌将反映这一点。很抱歉,忘了问这个问题,很快我们应该在几天、几周或一个月内期待它:)我们有一个供应商,他们确实期待此功能:)任何跟踪此功能的票证?正如我在回答中提到的,目前没有ETA可供共享