0

我们想创造一个API应用程序(主要目的是联系我们的组织Office 365的图形的端点和发送电子邮件)在Azure中。不过我们的前端网站不使用Azure的AD为用户认证。不过,我们希望我们的后端API,以便能够发送电子邮件通过以下方式 1)发送电子邮件的任何用户 2)代表服务帐户发送电子邮件一个图形API - 与用户同意守护程序

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

另外有一种方法,以创建没有登录屏幕的API的应用程序的API的执行期间被提示输入 - 在使用USER_CONSENT?

回答

0

选项1

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

提供对微软图形API的应用程序,权限,然后通过单击授予权限按钮,在门户网站,或通过管理员的同意大流授予的权限。

你的API就可以与它的客户端凭证进行身份验证,并得到一个访问令牌发送电子邮件。

这种方法的坏处应该是显而易见的,应用程序获得发送电子邮件的权利任何人在您的组织。

选项2

你可以在交替产生的API的帐户,然后使用资源所有者密码补助流量进行身份验证。然后,您将授予发送电子邮件的委托权限作为登录用户。

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

同意

不能通过同意去没有浏览器的用户界面。

+0

三江源@juunas,看起来就像**选项#2 **是不是在我的情况下进行选择,当我的dev的机器连接到我公司的VPN资源所有者密码补助流唯一的工作,因此,如果我主持我的API中如果没有建立虚拟网络,这将无法工作。 **根据我与我们的安全团队的讨论,我们也排除了选项#1 **,该团队拥有我们组织的azure活动目录所有权。 这可能吗? 管理允许应用程序在组织 发送邮件作为一个单一用户(服务ACC)我的应用程序将能够使用客户证书和来自ACC –

+1

收发电子邮件如果您所要求的应用程序,只client_credentials权限,该权限仅限于“与某些账户一起工作,我们今天没有这个AFAIK,尽管如果Exchange在线允许您限制允许您的应用程序API执行的操作,它可能是可能的。无论如何,如果这是你正在寻找的,请在Uservoice https://officespdev.uservoice上提问。com/forums/224641-feature-requests-and-feedback/category/101632-microsoft-graph-o365-rest-apis –

+0

是@ DanKershaw-MSFT,我正在尝试完全一样..我抓住了我的场景和想法在以下 https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/19188046-app-only-client-credentials-permission-for-consent –