azure - 应用程序 xxx 请求资源 xxx 上不存在的范围 Device.ReadWrite.All。联系供应商

标签 azure graph

我因不同的权限 Device.ReadWrite.All 遇到此错误。我正在尝试使用授权代码授予工作流程获取访问 token ,但出现此错误。如果我使用客户端凭据授予工作流程,我就能够接收 token 。

错误是应用程序 xxx 要求范围 Device.ReadWrite.All 在资源 xxx 上不存在。联系供应商

  1. 谁能解释一下为什么会发生这种情况
  2. Device.ReadWrite.All 是应用程序权限,因此我只能使用客户端凭据授予工作流程获取 token 吗?

最佳答案

Can anyone please explain why this happens

正如您所说,Device.ReadWrite.All 是应用程序权限而不是委托(delegate)权限。

当您使用麻醉代码流时,客户端应用程序将被授予代表特定用户访问资源的权限。通常在consent期间,权限从用户委托(delegate)给应用程序。流程。

但是,在客户端凭据流程中,权限直接授予应用程序本身。当应用程序向资源提供 token 时,资源会强制应用程序本身(而不是用户)有权执行操作。

因此,当您使用身份验证代码流程(用户交互)获取代码时,会收到错误消息,您需要使用服务到服务流程来获取访问 token 。

Device.ReadWrite.All is application permission so can I only get token using client credentials grant workflow?

是的,只能使用客户端凭据来获取应用程序权限

关于azure - 应用程序 xxx 请求资源 xxx 上不存在的范围 Device.ReadWrite.All。联系供应商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60879837/

相关文章:

javascript - 调整 highchart 系列两侧的空间

Java Jung 子图组件

azure - Azure DevOps 中的 Cypress 自动化项目

azure - 为什么 Azure 共享站点比免费站点慢

azure - 在 Azure 管道中使用 Az Ml CLI 部署/更新 Azure ML 模型

c# - Microsoft Graph DateTimeTimeZone 到 LocaldateTime

java - 代码从 jar 里跳出来运行?是什么原因造成的?

azure - 来自 powershell 的 Outlook Rest-API 返回誓言请求 (401)

azure - 使用 blobproperties.getcreatedtime 时 SparkHDInsights 集群不起作用

algorithm - 查找距给定区号最近的配送中心