【问题标题】:Send mail on_behalf_of with a guest user account使用访客用户帐户 on_behalf_of 发送邮件
【发布时间】:2021-06-15 16:58:24
【问题描述】:

我正在尝试让 api 代表用户发送邮件。

我有一个 UWP 应用程序(Azure AD 应用程序“A”)将一些数据发布到 API(Azure AD 应用程序“B”)

然后,API 将收集更多数据并以发布该数据的用户身份发送邮件。

当 API 收到帖子时,承载令牌具有 API 的“AUD”和“SCP”,现在我向 Azure AD 发出请求,并将令牌换成带有“AUD”和“SCP”的新令牌用于 MS 图形 API。这工作得很好,直到有一个来宾用户发送数据。然后我从 Graph API 得到一个“未经授权”的结果。

我认为原因是因为我作为访客用户获得了第一个令牌,然后尝试使用另一个租户中的帐户发送邮件。

我能做些什么来绕过这个?

【问题讨论】:

  • 您是否尝试在租户中使用访客用户对象 ID 而不是电子邮件帐户?

标签: microsoft-graph-api azure-ad-graph-api


【解决方案1】:

我们无法使用来宾用户帐户发送邮件 on_behalf_of,因为来宾用户在此租户中没有 O365 Exchange Online 许可证。

虽然来宾用户可能在其自己的租户中拥有 O365 Exchange Online 许可证,但不允许从该租户发送邮件。

这是意料之中的。

我能做些什么来绕过这个?

如果你想让访客用户从这个租户发送邮件,这是不可能的。

但我认为从其自己的租户发送邮件不是您想要的,它需要您在该租户中创建应用程序注册或使用多租户应用程序。您需要该租户的管理员权限才能执行此操作。所以也不可能。

【讨论】:

    【解决方案2】:

    谢谢艾伦!

    现在,当我稍微冷静下来(我的工作区非常热)时,我意识到我试图做什么以及为什么它不起作用;)

    我正在通过查看 Bearertoken 来解决问题,看看它是否是使用该应用的访客用户并在这些情况下从“无回复”帐户发送。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 2015-09-05
      • 1970-01-01
      • 2016-04-19
      • 2013-07-28
      相关资源
      最近更新 更多