1

我们想在 Azure 中创建一个 API 应用程序(主要目的是联系我们的组织 Office 365 Graph 端点并发送电子邮件)。但是我们的前端网站不使用 Azure AD 进行用户身份验证。但是我们希望我们的后端 API能够通过以下方式之一发送电子邮件 1) 以任何用户身份发送电子邮件 2) 代表服务帐户发送电子邮件

我们正在尝试探索可能的选项,并且根据迄今为止所做的调查,这(选项 1)可以使用 admin_consent 来完成 - 有人可以帮助我们执行创建此类应用程序和部署所需遵循的步骤。

另外,有没有一种方法可以创建一个 API 应用程序,而无需在执行 API 期间提示登录屏幕 - 在使用 user_consent 时?

4

1 回答 1

0

选项1

为了让应用程序/守护程序以任何用户身份发送电子邮件,它必须具有以任何用户身份发送邮件的应用程序权限

将 Microsoft Graph API 上的权限授予应用,然后通过单击门户中的授予权限按钮或通过管理员同意流程授予权限。

然后,您的 API 可以使用其客户端凭据进行身份验证并获取访问令牌以发送电子邮件。

这种方法的不好的一面应该是显而易见的,该应用程序有权以您组织中的任何人的身份发送电子邮件。

选项 2

您也可以为 API 创建一个帐户,然后使用资源所有者密码授权流程进行身份验证。然后,您将授予以登录用户身份发送电子邮件的委派权限。

不利的一面是身份验证流程。如果帐户的密码过期,您将无法从那里重置它,您将不得不进行干预以解决问题。

同意

如果没有浏览器 UI,您将无法获得同意。

于 2017-05-05T06:02:34.700 回答