【问题标题】:Microsoft Graph schemaExtensions Authorization_RequestDeniedMicrosoft Graph 架构扩展 Authorization_RequestDenied
【发布时间】:2017-05-26 09:30:40
【问题描述】:

我正在尝试通过 REST API graph.microsoft.com/beta/schemaExtensions从我的应用中使用 Microsoft Graph

这是我所做的:

  1. https://apps.dev.microsoft.com注册应用

  2. 检查所有委托和应用程序授权

  3. 根据 OAuth 客户端凭据授予流程获得访问令牌 without a user

  4. 使用从第 3 点检索到的访问令牌请求管理员同意。使用https://login.microsoftonline.com/tenant/adminconsent?client_id=xxx&state=12345&redirect_uri=http://localhost:8081 成功

  5. POST 到 /beta/schemaExtensions 并从第 3 点检索到访问令牌。我有这个错误:

Authorization_RequestDenied - 权限不足,无法完成操作

所以这是我的问题,希望有人可以帮助我:

  1. 如何在管理员同意请求后检查委托授权是否正常?
  2. 缺少哪些权限无法使用schemaExtensions

我的应用应该在没有用户的情况下运行,这是首选方法。

【问题讨论】:

    标签: microsoft-graph-api


    【解决方案1】:

    这里有几件事。

    扩展是 GA 并且在 /v1.0 版本上可用。请使用它而不是 /beta。

    我们不支持使用应用权限注册架构扩展。根据create schema extensions 主题,它今天需要 Directory.AccessAsUser.All 权限(我们也在调查是否可以在此处使用另一个较低特权的权限)。

    注册架构扩展可以是与您的应用程序实际使用扩展在目标对象实例上创建自定义数据的单独过程。

    因此,我们正在进行更改(应该很快就会推出),以允许您使用 Graph Explorer 为您的应用注册和管理架构扩展。还有一个user voice request 在应用注册方面有 UI 体验,用于模式注册/管理。如果它对你很重要,请投票给它。

    一旦 Graph Explorer 支持注册和管理架构扩展,我将更新这篇文章。

    希望这会有所帮助,

    【讨论】:

    • 非常感谢您的回答。我将使用用户凭据对其进行测试。还有一个问题:阅读文档developer.microsoft.com/en-us/graph/docs/concepts/…(我会为用户而不是组尝试),向现有用户添加自定义数据,只有当我是同一个用户或者我必须是管理员时才可以这样做吗?再次感谢你。西尔维娅
    【解决方案2】:

    要回答后续问题,调用用户应具有读取/写入权限才能将自定义数据添加到其他用户。但是,您可以使用开放扩展通过 /me/extensions 向调用用户添加自定义数据(只要应用具有 user.readwrite 或更高权限)。

    【讨论】:

    • 没错,但没有办法将开放扩展​​添加到 optionalclaims 中以将它们返回到应用程序的声明中......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多