如何在没有 Microsoft 帐户的情况下在用户的 Outlook 日历中创建事件?

问题描述 投票:0回答:1

我正在开发一个项目,需要在用户的 Outlook 日历中创建事件。要求是将工作检查日期添加到相关用户的日历中。此外,用户应该能够在其日历上手动创建事件。

经过一些研究,我确定了两种可能的方法来实现此功能。鉴于这两种方法,我不确定哪一种适合我的要求。另外,我对这两个问题都有疑问:

1。委托权限:

  • 通过这种方法,我将利用委托身份验证流程,要求使用用户的访问令牌在其日历中创建事件。
  • 但是,我注意到这些代币的过期时间相对较短,通常不到一天。管理所有用户的代币似乎不切实际。

2。应用权限:

  • 仅使用应用程序的访问令牌来管理它是可行的。
  • 我不确定是否可以允许用户使用具有应用程序权限流的任何租户。 此外,我也不确定管理员同意部分。

尽管阅读了 Microsoft Graph API 的文档,我发现自己比以前更加困惑。我正在寻求明确哪种方法最适合我的要求。

这是我的具体问题:

  • 对于委派权限:考虑到多个用户的访问令牌过期时间很短,如何有效地管理这些用户的访问令牌?
  • 对于应用程序权限:应用程序权限流是否支持来自任何租户(帐户类型)的用户,以及在这种情况下如何获取管理员同意的过程?

我愿意接受任何可以帮助我做出明智决定的见解、建议或澄清。谢谢您的协助。

node.js outlook azure-active-directory microsoft-graph-api azure-ad-graph-api
1个回答
0
投票
  1. 委托权限

委托权限通常是您想要避免的,除非它是前端类型的应用程序,您需要在其中对用户进行身份验证,然后使用他们的凭据执行某些操作。对于守护程序应用程序或后端应用程序,您应该使用应用程序权限(客户端凭据流)。后端上下文中的委托权限的问题是,您需要拥有一个应用程序/服务帐户(即许可证),这意味着您需要处理用户名和密码(不安全)或存储的刷新令牌(难以管理且不可靠),并且然后需要处理对该用户帐户 MFA、位置、条件访问等的限制。

  1. 应用程序权限:

如果您需要应用程序在多个租户上运行,那么您需要创建一个多租户应用程序https://learn.microsoft.com/en-us/entra/identity-platform/single-and-multi-tenant -apps#who-can-sign-in-to-your-app 并完成发布者验证 https://learn.microsoft.com/en-us/entra/identity-platform/publisher-verification-overview 。您的应用程序需要使用的租户的管理员需要同意,如果您没有特定的安装程序,他们可以通过多种方式来做到这一点https://learn.microsoft.com/en-我们/entra/identity/enterprise-apps/grant-admin-consent?pivots=portal

© www.soinside.com 2019 - 2024. All rights reserved.