【问题标题】:In the Microsoft Graph API, can an app with admin consent generate a token for a different user than the admin that approved it?在 Microsoft Graph API 中,获得管理员同意的应用是否可以为与批准它的管理员不同的用户生成令牌?
【发布时间】:2020-01-11 00:00:37
【问题描述】:

我在 Microsoft Active Directory 中注册了一个多租户应用程序,该应用程序使用管理员同意来访问 Microsoft Graph API 中的某些应用程序范围 API。它使用/token 端点获取令牌,然后调用这些图形 API。它运行良好。 https://docs.microsoft.com/en-us/graph/auth-v2-service#token-request

现在我想增强我的应用程序以访问一些委托(用户)范围的 API,这些 API 不允许在应用程序范围内进行访问。我的应用程序已配置为在管理员同意时向管理员请求这些委派权限。但我想将这些 API 称为目录中的每个 用户,而不是安装我的应用程序的管理员。

重要的是,让组织中的每个用户单独通过我的应用程序的 OAuth 流程对我来说是不可行的。

这可能吗? 我可以通过将我的应用程序令牌交换为用户令牌以某种方式冒充用户吗? 管理员能否以编程方式为我的应用生成令牌作为个人用户,就好像他们已通过 OAuth 流程一样?

【问题讨论】:

    标签: oauth-2.0 microsoft-graph-api


    【解决方案1】:

    不,您不能将应用程序令牌转换为委托令牌。 作为特定用户的唯一方法是让该用户将这些活动“委托”给您的应用程序。

    请注意,管理员同意仅允许您的应用在租户内运行。它来自用户同意,而不是用户同意的超集。为了获得委托令牌,您需要获得用户和管理员的同意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多