尝试访问 v2 终结点托管的 webapi但没有运气,如果现在只有图形 api 在 v2 上工作,这是真的吗?



在 v2 端点上运行 webapi,目的是通过对图形和自定义 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 端点进行身份验证并访问图形和 webapi????

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

目前,v2 终结点无法为自定义 API 颁发访问令牌。该功能正在积极开发中,但没有 ETA 可共享。 另请注意:即使该功能可用,也无法在多个资源中重复使用相同的访问令牌;你将能够一次同意多个资源,以便你的用户只升级一次,但你需要单独请求每个资源的访问令牌。

最新更新