我们正在使用Microsoft Graph开发一个 Web 应用程序,登录用户可以在其中将所有日历事件导出到第三方日历应用程序。在此初始导出之后,我们需要通过服务应用程序(在服务器上运行的计划任务)使导出的数据与日历更改保持同步。这需要是一个多租户应用程序,因为来自不同组织的人应该能够使用此服务。
现在我们使用 OAuth 2.0 和 OpenID Connect 进行身份验证,如本示例中所述。后来我们了解到,如果没有用户交互,我们使用这种方法获得的访问令牌不能在服务应用程序中使用。考虑到我们的场景,实现这一目标的最佳方法是什么?
我已阅读有关仅应用程序的授权方法来执行此操作。如果我们使用这种身份验证方法,应用程序需要得到租户管理员的同意,并且这些应用程序在他们可以访问 Office 365 组织中的哪些数据方面非常强大。考虑到我们正在开发不同组织使用的产品,使用这种方法是否可行?