图形API - 具有用户同意的守护程序应用程序

时间:2017-05-05 03:05:52

标签: azure-active-directory microsoft-graph adal office365api msal

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

我们正在尝试探索可能的选项,并根据目前为止所做的调查,这个(选项1)可以使用admin_consent完成 - 有人可以帮助我们创建此类应用和部署所需的步骤。

另外还有一种方法可以在API执行期间创建一个没有登录屏幕的API应用程序 - 同时使用user_consent?

1 个答案:

答案 0 :(得分:0)

选项1

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

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

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

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

选项2

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

这方面的不好的一面是验证流程。如果帐户的密码过期,则无法从那里重置密码,您必须进行干预以解决问题。

<强>同意

如果没有浏览器用户界面,则无法通过同意。