在 Microsoft 图形 API 中,征得管理员同意的应用是否可以为与批准令牌的管理员不同的用户生成令牌?



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

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

重要的是,让组织中的每个用户单独完成我的应用的 OAuth 流是不可行的。

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

不可以,不能将应用程序令牌转换为委托令牌。充当特定用户的唯一方法是让该用户将这些活动"委派"给您的应用程序。

请注意,管理员同意仅表示同意应用在租户中运行。它注定来自用户同意,而不是用户同意的超集。若要获取委派令牌,需要同时获得用户和管理员的同意。

最新更新