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 –